home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 July: Mac OS SDK / Dev.CD Jul 99 SDK1.toast / Development Kits / Mac OS / Interfaces&Libraries / Universal / Interfaces / AIncludes / Movies.a < prev    next >
Encoding:
Text File  |  1998-08-17  |  201.7 KB  |  7,412 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Movies.a
  3. ;
  4. ;    Contains:    QuickTime Interfaces.
  5. ;
  6. ;    Version:    Technology:    QuickTime 3.0
  7. ;                Release:    Universal Interfaces 3.2
  8. ;
  9. ;    Copyright:    © 1990-1998 by Apple Computer, Inc., all rights reserved
  10. ;
  11. ;    Bugs?:        For bug reports, consult the following page on
  12. ;                the World Wide Web:
  13. ;
  14. ;                    http://developer.apple.com/bugreporter/
  15. ;
  16. ;
  17.     IF &TYPE('__MOVIES__') = 'UNDEFINED' THEN
  18. __MOVIES__ SET 1
  19.  
  20.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  21.     include 'Quickdraw.a'
  22.     ENDIF
  23.     IF &TYPE('__ALIASES__') = 'UNDEFINED' THEN
  24.     include 'Aliases.a'
  25.     ENDIF
  26.     IF &TYPE('__EVENTS__') = 'UNDEFINED' THEN
  27.     include 'Events.a'
  28.     ENDIF
  29.     IF &TYPE('__MENUS__') = 'UNDEFINED' THEN
  30.     include 'Menus.a'
  31.     ENDIF
  32.     IF &TYPE('__COMPONENTS__') = 'UNDEFINED' THEN
  33.     include 'Components.a'
  34.     ENDIF
  35.     IF &TYPE('__IMAGECOMPRESSION__') = 'UNDEFINED' THEN
  36.     include 'ImageCompression.a'
  37.     ENDIF
  38.  
  39.  
  40. ;   "kFix1" is defined in FixMath as "fixed1"  
  41. ;  error codes are in Errors.[haa] 
  42. ;  gestalt codes are in Gestalt.[hpa] 
  43.  
  44. MovieFileType                    EQU        'MooV'
  45. MovieScrapType                    EQU        'moov'
  46.  
  47. MovieResourceType                EQU        'moov'
  48. MovieForwardPointerResourceType    EQU        'fore'
  49. MovieBackwardPointerResourceType EQU    'back'
  50.  
  51. MovieResourceAtomType            EQU        'moov'
  52. MovieDataAtomType                EQU        'mdat'
  53. FreeAtomType                    EQU        'free'
  54. SkipAtomType                    EQU        'skip'
  55.  
  56. MediaHandlerType                EQU        'mhlr'
  57. DataHandlerType                    EQU        'dhlr'
  58.  
  59. VideoMediaType                    EQU        'vide'
  60. SoundMediaType                    EQU        'soun'
  61. TextMediaType                    EQU        'text'
  62. BaseMediaType                    EQU        'gnrc'
  63. MPEGMediaType                    EQU        'MPEG'
  64. MusicMediaType                    EQU        'musi'
  65. TimeCodeMediaType                EQU        'tmcd'
  66. SpriteMediaType                    EQU        'sprt'
  67. TweenMediaType                    EQU        'twen'
  68. ThreeDeeMediaType                EQU        'qd3d'
  69. HandleDataHandlerSubType        EQU        'hndl'
  70. ResourceDataHandlerSubType        EQU        'rsrc'
  71. URLDataHandlerSubType            EQU        'url '
  72.  
  73. VisualMediaCharacteristic        EQU        'eyes'
  74. AudioMediaCharacteristic        EQU        'ears'
  75. kCharacteristicCanSendVideo        EQU        'vsnd'
  76. kCharacteristicProvidesActions    EQU        'actn'
  77. kCharacteristicNonLinear        EQU        'nonl'
  78.  
  79. kUserDataMovieControllerType    EQU        'ctyp'
  80. kUserDataName                    EQU        'name'
  81. kUserDataTextFullName            EQU        '©nam'
  82. kUserDataTextCopyright            EQU        '©cpy'
  83. kUserDataTextInformation        EQU        '©inf'
  84.  
  85. DoTheRightThing                    EQU        0
  86.  
  87. MovieRecord                RECORD 0
  88. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  89. sizeof                     EQU *                    ; size:   $4 (4)
  90.                         ENDR
  91. ; typedef struct MovieRecord *            Movie
  92.  
  93. TrackRecord                RECORD 0
  94. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  95. sizeof                     EQU *                    ; size:   $4 (4)
  96.                         ENDR
  97. ; typedef struct TrackRecord *            Track
  98.  
  99. MediaRecord                RECORD 0
  100. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  101. sizeof                     EQU *                    ; size:   $4 (4)
  102.                         ENDR
  103. ; typedef struct MediaRecord *            Media
  104.  
  105. UserDataRecord            RECORD 0
  106. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  107. sizeof                     EQU *                    ; size:   $4 (4)
  108.                         ENDR
  109. ; typedef struct UserDataRecord *        UserData
  110.  
  111. TrackEditStateRecord    RECORD 0
  112. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  113. sizeof                     EQU *                    ; size:   $4 (4)
  114.                         ENDR
  115. ; typedef struct TrackEditStateRecord *    TrackEditState
  116.  
  117. MovieEditStateRecord    RECORD 0
  118. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  119. sizeof                     EQU *                    ; size:   $4 (4)
  120.                         ENDR
  121. ; typedef struct MovieEditStateRecord *    MovieEditState
  122.  
  123. SpriteWorldRecord        RECORD 0
  124. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  125. sizeof                     EQU *                    ; size:   $4 (4)
  126.                         ENDR
  127. ; typedef struct SpriteWorldRecord *    SpriteWorld
  128.  
  129. SpriteRecord            RECORD 0
  130. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  131. sizeof                     EQU *                    ; size:   $4 (4)
  132.                         ENDR
  133. ; typedef struct SpriteRecord *            Sprite
  134.  
  135. QTTweenerRecord            RECORD 0
  136. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  137. sizeof                     EQU *                    ; size:   $4 (4)
  138.                         ENDR
  139. ; typedef struct QTTweenerRecord *        QTTweener
  140.  
  141. SampleDescription        RECORD 0
  142. descSize                 ds.l    1                ; offset: $0 (0)
  143. dataFormat                 ds.l    1                ; offset: $4 (4)
  144. resvd1                     ds.l    1                ; offset: $8 (8)
  145. resvd2                     ds.w    1                ; offset: $C (12)
  146. dataRefIndex             ds.w    1                ; offset: $E (14)
  147. sizeof                     EQU *                    ; size:   $10 (16)
  148.                         ENDR
  149. ; typedef struct SampleDescription *    SampleDescriptionPtr
  150.  
  151. ; typedef SampleDescriptionPtr *        SampleDescriptionHandle
  152.  
  153. ; typedef Handle                         QTAtomContainer
  154.  
  155. ; typedef long                             QTAtom
  156.  
  157. ; typedef long                             QTAtomType
  158.  
  159. ; typedef long                             QTAtomID
  160.  
  161. ;  QTFloatDouble is the 64-bit IEEE-754 standard
  162. QTFloatDouble            RECORD 0
  163. f                         ds        Float64
  164. sizeof                     EQU *                    ; size:   $8 (8)
  165.                         ENDR
  166.  
  167.  
  168. ;  QTFloatSingle is the 32-bit IEEE-754 standard
  169. QTFloatSingle            RECORD 0
  170. f                         ds        Float32
  171. sizeof                     EQU *                    ; size:   $4 (4)
  172.                         ENDR
  173.  
  174.  
  175.  
  176.  
  177. SoundDescription        RECORD 0
  178. descSize                 ds.l    1                ; offset: $0 (0)        ;  total size of SoundDescription including extra data 
  179. dataFormat                 ds.l    1                ; offset: $4 (4)        ;  sound format 
  180. resvd1                     ds.l    1                ; offset: $8 (8)        ;  reserved for apple use. set to zero 
  181. resvd2                     ds.w    1                ; offset: $C (12)        ;  reserved for apple use. set to zero 
  182. dataRefIndex             ds.w    1                ; offset: $E (14)
  183. version                     ds.w    1                ; offset: $10 (16)        ;  which version is this data 
  184. revlevel                 ds.w    1                ; offset: $12 (18)        ;  what version of that codec did this 
  185. vendor                     ds.l    1                ; offset: $14 (20)        ;  whose  codec compressed this data 
  186. numChannels                 ds.w    1                ; offset: $18 (24)        ;  number of channels of sound 
  187. sampleSize                 ds.w    1                ; offset: $1A (26)        ;  number of bits per sample 
  188. compressionID             ds.w    1                ; offset: $1C (28)        ;  unused. set to zero. 
  189. packetSize                 ds.w    1                ; offset: $1E (30)        ;  unused. set to zero. 
  190. sampleRate                 ds.l    1                ; offset: $20 (32)        ;  sample rate sound is captured at 
  191. sizeof                     EQU *                    ; size:   $24 (36)
  192.                         ENDR
  193. ; typedef struct SoundDescription *        SoundDescriptionPtr
  194.  
  195. ; typedef SoundDescriptionPtr *            SoundDescriptionHandle
  196.  
  197. ;  version 1 of the SoundDescription record
  198. SoundDescriptionV1        RECORD 0
  199. ;  original fields
  200. desc                     ds        SoundDescription ; offset: $0 (0)
  201. ;  fixed compression ratio information
  202. samplesPerPacket         ds.l    1                ; offset: $24 (36)
  203. bytesPerPacket             ds.l    1                ; offset: $28 (40)
  204. bytesPerFrame             ds.l    1                ; offset: $2C (44)
  205. bytesPerSample             ds.l    1                ; offset: $30 (48)
  206. ;  additional atom based fields ([long size, long type, some data], repeat)
  207. sizeof                     EQU *                    ; size:   $34 (52)
  208.                         ENDR
  209. ; typedef struct SoundDescriptionV1 *    SoundDescriptionV1Ptr
  210.  
  211. ; typedef SoundDescriptionV1Ptr *        SoundDescriptionV1Handle
  212.  
  213. TextDescription            RECORD 0
  214. descSize                 ds.l    1                ; offset: $0 (0)        ;  Total size of TextDescription
  215. dataFormat                 ds.l    1                ; offset: $4 (4)        ;  'text'
  216. resvd1                     ds.l    1                ; offset: $8 (8)
  217. resvd2                     ds.w    1                ; offset: $C (12)
  218. dataRefIndex             ds.w    1                ; offset: $E (14)
  219. displayFlags             ds.l    1                ; offset: $10 (16)        ;  see enum below for flag values
  220. textJustification         ds.l    1                ; offset: $14 (20)        ;  Can be: teCenter,teFlush -Default,-Right,-Left
  221. bgColor                     ds        RGBColor        ; offset: $18 (24)        ;  Background color
  222. defaultTextBox             ds        Rect            ; offset: $1E (30)        ;  Location to place the text within the track bounds
  223. defaultStyle             ds        ScrpSTElement    ; offset: $26 (38)        ;  Default style (struct defined in TextEdit.h)
  224. defaultFontName             ds.b    1                ; offset: $3A (58) <-- really an array of length one ;  Font Name (pascal string - struct extended to fit) 
  225.                          ORG 60
  226. sizeof                     EQU *                    ; size:   $3C (60)
  227.                         ENDR
  228. ; typedef struct TextDescription *        TextDescriptionPtr
  229.  
  230. ; typedef TextDescriptionPtr *            TextDescriptionHandle
  231.  
  232. SpriteDescription        RECORD 0
  233. descSize                 ds.l    1                ; offset: $0 (0)        ;  total size of SpriteDescription including extra data 
  234. dataFormat                 ds.l    1                ; offset: $4 (4)        ;   
  235. resvd1                     ds.l    1                ; offset: $8 (8)        ;  reserved for apple use 
  236. resvd2                     ds.w    1                ; offset: $C (12)
  237. dataRefIndex             ds.w    1                ; offset: $E (14)
  238. version                     ds.l    1                ; offset: $10 (16)        ;  which version is this data 
  239. decompressorType         ds.l    1                ; offset: $14 (20)        ;  which decompressor to use, 0 for no decompression 
  240. sampleFlags                 ds.l    1                ; offset: $18 (24)        ;  how to interpret samples 
  241. sizeof                     EQU *                    ; size:   $1C (28)
  242.                         ENDR
  243. ; typedef struct SpriteDescription *    SpriteDescriptionPtr
  244.  
  245. ; typedef SpriteDescriptionPtr *        SpriteDescriptionHandle
  246.  
  247. ThreeDeeDescription        RECORD 0
  248. descSize                 ds.l    1                ; offset: $0 (0)        ;  total size of ThreeDeeDescription including extra data 
  249. dataFormat                 ds.l    1                ; offset: $4 (4)        ;   
  250. resvd1                     ds.l    1                ; offset: $8 (8)        ;  reserved for apple use 
  251. resvd2                     ds.w    1                ; offset: $C (12)
  252. dataRefIndex             ds.w    1                ; offset: $E (14)
  253. version                     ds.l    1                ; offset: $10 (16)        ;  which version is this data 
  254. rendererType             ds.l    1                ; offset: $14 (20)        ;  which renderer to use, 0 for default 
  255. decompressorType         ds.l    1                ; offset: $18 (24)        ;  which decompressor to use, 0 for default 
  256. sizeof                     EQU *                    ; size:   $1C (28)
  257.                         ENDR
  258. ; typedef struct ThreeDeeDescription *    ThreeDeeDescriptionPtr
  259.  
  260. ; typedef ThreeDeeDescriptionPtr *        ThreeDeeDescriptionHandle
  261.  
  262. DataReferenceRecord        RECORD 0
  263. dataRefType                 ds.l    1                ; offset: $0 (0)
  264. dataRef                     ds.l    1                ; offset: $4 (4)
  265. sizeof                     EQU *                    ; size:   $8 (8)
  266.                         ENDR
  267. ; typedef struct DataReferenceRecord *    DataReferencePtr
  268.  
  269. ; --------------------------
  270. ;  Music Sample Description
  271. ;--------------------------
  272.  
  273. MusicDescription        RECORD 0
  274. descSize                 ds.l    1                ; offset: $0 (0)
  275. dataFormat                 ds.l    1                ; offset: $4 (4)        ;  'musi' 
  276. resvd1                     ds.l    1                ; offset: $8 (8)
  277. resvd2                     ds.w    1                ; offset: $C (12)
  278. dataRefIndex             ds.w    1                ; offset: $E (14)
  279. musicFlags                 ds.l    1                ; offset: $10 (16)
  280. headerData                 ds.l    1                ; offset: $14 (20) <-- really an array of length one ;  variable size! 
  281. sizeof                     EQU *                    ; size:   $18 (24)
  282.                         ENDR
  283. ; typedef struct MusicDescription *        MusicDescriptionPtr
  284.  
  285. ; typedef MusicDescriptionPtr *            MusicDescriptionHandle
  286.  
  287.  
  288. kMusicFlagDontPlay2Soft            EQU        $00000001
  289. kMusicFlagDontSlaveToMovie        EQU        $00000002
  290.  
  291.  
  292. dfDontDisplay                    EQU        $01                    ; Don't display the text
  293. dfDontAutoScale                    EQU        $02                    ; Don't scale text as track bounds grows or shrinks
  294. dfClipToTextBox                    EQU        $04                    ; Clip update to the textbox
  295. dfUseMovieBGColor                EQU        $08                    ; Set text background to movie's background color
  296. dfShrinkTextBoxToFit            EQU        $10                    ; Compute minimum box to fit the sample
  297. dfScrollIn                        EQU        $20                    ; Scroll text in until last of text is in view 
  298. dfScrollOut                        EQU        $40                    ; Scroll text out until last of text is gone (if both set, scroll in then out)
  299. dfHorizScroll                    EQU        $80                    ; Scroll text horizontally (otherwise it's vertical)
  300. dfReverseScroll                    EQU        $0100                ; vert: scroll down rather than up; horiz: scroll backwards (justfication dependent)
  301. dfContinuousScroll                EQU        $0200                ; new samples cause previous samples to scroll out 
  302. dfFlowHoriz                        EQU        $0400                ; horiz scroll text flows in textbox rather than extend to right 
  303. dfContinuousKaraoke                EQU        $0800                ; ignore begin offset, hilite everything up to the end offset(karaoke)
  304. dfDropShadow                    EQU        $1000                ; display text with a drop shadow 
  305. dfAntiAlias                        EQU        $2000                ; attempt to display text anti aliased
  306. dfKeyedText                        EQU        $4000                ; key the text over background
  307. dfInverseHilite                    EQU        $8000                ; Use inverse hiliting rather than using hilite color
  308. dfTextColorHilite                EQU        $00010000            ; changes text color in place of hiliting. 
  309.  
  310. searchTextDontGoToFoundTime        EQU        $00010000
  311. searchTextDontHiliteFoundText    EQU        $00020000
  312. searchTextOneTrackOnly            EQU        $00040000
  313. searchTextEnabledTracksOnly        EQU        $00080000
  314.  
  315. k3DMediaRendererEntry            EQU        'rend'
  316. k3DMediaRendererName            EQU        'name'
  317. k3DMediaRendererCode            EQU        'rcod'
  318. ;  progress messages 
  319.  
  320. movieProgressOpen                EQU        0
  321. movieProgressUpdatePercent        EQU        1
  322. movieProgressClose                EQU        2
  323. ;  progress operations 
  324.  
  325. progressOpFlatten                EQU        1
  326. progressOpInsertTrackSegment    EQU        2
  327. progressOpInsertMovieSegment    EQU        3
  328. progressOpPaste                    EQU        4
  329. progressOpAddMovieSelection        EQU        5
  330. progressOpCopy                    EQU        6
  331. progressOpCut                    EQU        7
  332. progressOpLoadMovieIntoRam        EQU        8
  333. progressOpLoadTrackIntoRam        EQU        9
  334. progressOpLoadMediaIntoRam        EQU        10
  335. progressOpImportMovie            EQU        11
  336. progressOpExportMovie            EQU        12
  337.  
  338. mediaQualityDraft                EQU        $0000
  339. mediaQualityNormal                EQU        $0040
  340. mediaQualityBetter                EQU        $0080
  341. mediaQualityBest                EQU        $00C0
  342. ; *****
  343. ;    Interactive Sprites Support
  344. ;****
  345.  
  346. QTEventRecord            RECORD 0
  347. version                     ds.l    1                ; offset: $0 (0)
  348. eventType                 ds.l    1                ; offset: $4 (4)
  349. where                     ds        Point            ; offset: $8 (8)
  350. flags                     ds.l    1                ; offset: $C (12)
  351. sizeof                     EQU *                    ; size:   $10 (16)
  352.                         ENDR
  353. ; typedef struct QTEventRecord *        QTEventRecordPtr
  354.  
  355. QTAtomSpec                RECORD 0
  356. container                 ds.l    1                ; offset: $0 (0)
  357. atom                     ds.l    1                ; offset: $4 (4)
  358. sizeof                     EQU *                    ; size:   $8 (8)
  359.                         ENDR
  360. ; typedef struct QTAtomSpec *            QTAtomSpecPtr
  361.  
  362. ResolvedQTEventSpec        RECORD 0
  363. actionAtom                 ds        QTAtomSpec        ; offset: $0 (0)
  364. targetTrack                 ds.l    1                ; offset: $8 (8)
  365. targetRefCon             ds.l    1                ; offset: $C (12)
  366. sizeof                     EQU *                    ; size:   $10 (16)
  367.                         ENDR
  368. ; typedef struct ResolvedQTEventSpec *    ResolvedQTEventSpecPtr
  369.  
  370.  
  371. ;  action constants 
  372.  
  373. kActionMovieSetVolume            EQU        1024                ; (short movieVolume) 
  374. kActionMovieSetRate                EQU        1025                ; (Fixed rate) 
  375. kActionMovieSetLoopingFlags        EQU        1026                ; (long loopingFlags) 
  376. kActionMovieGoToTime            EQU        1027                ; (TimeValue time) 
  377. kActionMovieGoToTimeByName        EQU        1028                ; (Str255 timeName) 
  378. kActionMovieGoToBeginning        EQU        1029                ; no params 
  379. kActionMovieGoToEnd                EQU        1030                ; no params 
  380. kActionMovieStepForward            EQU        1031                ; no params 
  381. kActionMovieStepBackward        EQU        1032                ; no params 
  382. kActionMovieSetSelection        EQU        1033                ; (TimeValue startTime, TimeValue endTime) 
  383. kActionMovieSetSelectionByName    EQU        1034                ; (Str255 startTimeName, Str255 endTimeName) 
  384. kActionMoviePlaySelection        EQU        1035                ; (Boolean selectionOnly) 
  385. kActionMovieSetLanguage            EQU        1036                ; (long language) 
  386. kActionMovieChanged                EQU        1037                ; no params 
  387. kActionTrackSetVolume            EQU        2048                ; (short volume) 
  388. kActionTrackSetBalance            EQU        2049                ; (short balance) 
  389. kActionTrackSetEnabled            EQU        2050                ; (Boolean enabled) 
  390. kActionTrackSetMatrix            EQU        2051                ; (MatrixRecord matrix) 
  391. kActionTrackSetLayer            EQU        2052                ; (short layer) 
  392. kActionTrackSetClip                EQU        2053                ; (RgnHandle clip) 
  393. kActionSpriteSetMatrix            EQU        3072                ; (MatrixRecord matrix) 
  394. kActionSpriteSetImageIndex        EQU        3073                ; (short imageIndex) 
  395. kActionSpriteSetVisible            EQU        3074                ; (short visible) 
  396. kActionSpriteSetLayer            EQU        3075                ; (short layer) 
  397. kActionSpriteSetGraphicsMode    EQU        3076                ; (ModifierTrackGraphicsModeRecord graphicsMode) 
  398. kActionSpritePassMouseToCodec    EQU        3078                ; no params 
  399. kActionSpriteClickOnCodec        EQU        3079                ; Point localLoc 
  400. kActionSpriteTranslate            EQU        3080                ; (Fixed x, Fixed y, Boolean isAbsolute) 
  401. kActionSpriteScale                EQU        3081                ; (Fixed xScale, Fixed yScale) 
  402. kActionSpriteRotate                EQU        3082                ; (Fixed degrees) 
  403. kActionSpriteStretch            EQU        3083                ; (Fixed p1x, Fixed p1y, Fixed p2x, Fixed p2y, Fixed p3x, Fixed p3y, Fixed p4x, Fixed p4y) 
  404. kActionQTVRSetPanAngle            EQU        4096                ; (float panAngle) 
  405. kActionQTVRSetTiltAngle            EQU        4097                ; (float tiltAngle) 
  406. kActionQTVRSetFieldOfView        EQU        4098                ; (float fieldOfView) 
  407. kActionQTVRShowDefaultView        EQU        4099                ; no params 
  408. kActionQTVRGoToNodeID            EQU        4100                ; (UInt32 nodeID) 
  409. kActionMusicPlayNote            EQU        5120                ; (long sampleDescIndex, long partNumber, long delay, long pitch, long velocity, long duration) 
  410. kActionMusicSetController        EQU        5121                ; (long sampleDescIndex, long partNumber, long delay, long controller, long value) 
  411. kActionCase                        EQU        6144                ; [(CaseStatementActionAtoms)] 
  412. kActionWhile                    EQU        6145                ; [(WhileStatementActionAtoms)] 
  413. kActionGoToURL                    EQU        6146                ; (C string urlLink) 
  414. kActionSendQTEventToSprite        EQU        6147                ; ([(SpriteTargetAtoms)], QTEventRecord theEvent) 
  415. kActionDebugStr                    EQU        6148                ; (Str255 theString) 
  416. kActionPushCurrentTime            EQU        6149                ; no params 
  417. kActionPushCurrentTimeWithLabel    EQU        6150                ; (Str255 theLabel) 
  418. kActionPopAndGotoTopTime        EQU        6151                ; no params 
  419. kActionPopAndGotoLabeledTime    EQU        6152                ; (Str255 theLabel) 
  420. kActionSpriteTrackSetVariable    EQU        7168                ; (QTAtomID variableID, float value) 
  421. kActionApplicationNumberAndString EQU    8192                ; (long aNumber, Str255 aString ) 
  422.  
  423. kOperandExpression                EQU        1
  424. kOperandConstant                EQU        2
  425. kOperandMovieVolume                EQU        1024
  426. kOperandMovieRate                EQU        1025
  427. kOperandMovieIsLooping            EQU        1026
  428. kOperandMovieLoopIsPalindrome    EQU        1027
  429. kOperandMovieTime                EQU        1028
  430. kOperandTrackVolume                EQU        2048
  431. kOperandTrackBalance            EQU        2049
  432. kOperandTrackEnabled            EQU        2050
  433. kOperandTrackLayer                EQU        2051
  434. kOperandTrackWidth                EQU        2052
  435. kOperandTrackHeight                EQU        2053
  436. kOperandSpriteBoundsLeft        EQU        3072
  437. kOperandSpriteBoundsTop            EQU        3073
  438. kOperandSpriteBoundsRight        EQU        3074
  439. kOperandSpriteBoundsBottom        EQU        3075
  440. kOperandSpriteImageIndex        EQU        3076
  441. kOperandSpriteVisible            EQU        3077
  442. kOperandSpriteLayer                EQU        3078
  443. kOperandSpriteTrackVariable        EQU        3079                ; [QTAtomID variableID] 
  444. kOperandSpriteTrackNumSprites    EQU        3080
  445. kOperandSpriteTrackNumImages    EQU        3081
  446. kOperandSpriteID                EQU        3082
  447. kOperandSpriteIndex                EQU        3083
  448. kOperandSpriteFirstCornerX        EQU        3084
  449. kOperandSpriteFirstCornerY        EQU        3085
  450. kOperandSpriteSecondCornerX        EQU        3086
  451. kOperandSpriteSecondCornerY        EQU        3087
  452. kOperandSpriteThirdCornerX        EQU        3088
  453. kOperandSpriteThirdCornerY        EQU        3089
  454. kOperandSpriteFourthCornerX        EQU        3090
  455. kOperandSpriteFourthCornerY        EQU        3091
  456. kOperandSpriteImageRegistrationPointX EQU 3092
  457. kOperandSpriteImageRegistrationPointY EQU 3093
  458. kOperandQTVRPanAngle            EQU        4096
  459. kOperandQTVRTiltAngle            EQU        4097
  460. kOperandQTVRFieldOfView            EQU        4098
  461. kOperandQTVRNodeID                EQU        4099
  462. kOperandMouseLocalHLoc            EQU        5120                ; [TargetAtoms aTrack] 
  463. kOperandMouseLocalVLoc            EQU        5121                ; [TargetAtoms aTrack] 
  464. kOperandKeyIsDown                EQU        5122                ; [short modKeys, char asciiValue] 
  465. kOperandRandom                    EQU        5123                ; [short min, short max] 
  466.  
  467. kFirstMovieAction                EQU        1024
  468. kLastMovieAction                EQU        1037
  469. kFirstTrackAction                EQU        2048
  470. kLastTrackAction                EQU        2053
  471. kFirstSpriteAction                EQU        3072
  472. kLastSpriteAction                EQU        3083
  473. kFirstQTVRAction                EQU        4096
  474. kLastQTVRAction                    EQU        4100
  475. kFirstMusicAction                EQU        5120
  476. kLastMusicAction                EQU        5121
  477. kFirstSystemAction                EQU        6144
  478. kLastSystemAction                EQU        6152
  479. kFirstSpriteTrackAction            EQU        7168
  480. kLastSpriteTrackAction            EQU        7168
  481. kFirstApplicationAction            EQU        8192
  482. kLastApplicationAction            EQU        8192
  483. kFirstAction                    EQU        1024
  484. kLastAction                        EQU        8192
  485.  
  486. ;  target atom types
  487.  
  488. kTargetMovie                    EQU        'moov'                ; no data 
  489. kTargetTrackName                EQU        'trna'                ; (PString trackName) 
  490. kTargetTrackID                    EQU        'trid'                ; (long trackID) 
  491. kTargetTrackType                EQU        'trty'                ; (OSType trackType) 
  492. kTargetTrackIndex                EQU        'trin'                ; (long trackIndex) 
  493. kTargetSpriteName                EQU        'spna'                ; (PString spriteName) 
  494. kTargetSpriteID                    EQU        'spid'                ; (QTAtomID spriteID) 
  495. kTargetSpriteIndex                EQU        'spin'                ; (short spriteIndex) 
  496. ;  action container atom types
  497.  
  498. kQTEventType                    EQU        'evnt'
  499. kAction                            EQU        'actn'
  500. kWhichAction                    EQU        'whic'
  501. kActionParameter                EQU        'parm'
  502. kActionTarget                    EQU        'targ'
  503. kActionFlags                    EQU        'flag'
  504. kActionParameterMinValue        EQU        'minv'
  505. kActionParameterMaxValue        EQU        'maxv'
  506. kActionListAtomType                EQU        'list'
  507. kExpressionContainerAtomType    EQU        'expr'
  508. kConditionalAtomType            EQU        'test'
  509. kOperatorAtomType                EQU        'oper'
  510. kOperandAtomType                EQU        'oprn'
  511. kCommentAtomType                EQU        'why '
  512. ;  QTEvent types 
  513.  
  514. kQTEventMouseClick                EQU        'clik'
  515. kQTEventMouseClickEnd            EQU        'cend'
  516. kQTEventMouseClickEndTriggerButton EQU    'trig'
  517. kQTEventMouseEnter                EQU        'entr'
  518. kQTEventMouseExit                EQU        'exit'
  519. kQTEventFrameLoaded                EQU        'fram'
  520. kQTEventIdle                    EQU        'idle'
  521. kQTEventRequestToModifyMovie    EQU        'reqm'
  522. ;  flags for the kActionFlags atom 
  523.  
  524. kActionFlagActionIsDelta        EQU        $00000002
  525. kActionFlagParameterWrapsAround    EQU        $00000004
  526. kActionFlagActionIsToggle        EQU        $00000008
  527. ;  constants for kOperatorAtomType IDs (operator types)
  528.  
  529. kOperatorAdd                    EQU        'add '
  530. kOperatorSubtract                EQU        'sub '
  531. kOperatorMultiply                EQU        'mult'
  532. kOperatorDivide                    EQU        'div '
  533. kOperatorOr                        EQU        'or  '
  534. kOperatorAnd                    EQU        'and '
  535. kOperatorNot                    EQU        'not '
  536. kOperatorLessThan                EQU        '<   '
  537. kOperatorLessThanEqualTo        EQU        '<=  '
  538. kOperatorEqualTo                EQU        '=   '
  539. kOperatorNotEqualTo                EQU        '!=  '
  540. kOperatorGreaterThan            EQU        '>   '
  541. kOperatorGreaterThanEqualTo        EQU        '>=  '
  542. kOperatorModulo                    EQU        'mod '
  543. kOperatorIntegerDivide            EQU        'idiv'
  544. kOperatorAbsoluteValue            EQU        'abs '
  545. kOperatorNegate                    EQU        'neg '
  546. ;  constants for MediaPropertiesAtom
  547.  
  548. kMediaPropertyNonLinearAtomType    EQU        'nonl'
  549. kMediaPropertyHasActions        EQU        105
  550. ; typedef ComponentInstance             MediaHandler
  551.  
  552. ; typedef ComponentInstance             DataHandler
  553.  
  554. ; typedef Component                     MediaHandlerComponent
  555.  
  556. ; typedef Component                     DataHandlerComponent
  557.  
  558. ; typedef ComponentResult                 HandlerError
  559.  
  560. ;  TimeBase equates 
  561. ; typedef long                             TimeValue
  562.  
  563. ; typedef long                             TimeScale
  564.  
  565. CompTimeValue            RECORD 0
  566. f                         ds        wide
  567. sizeof                     EQU *                    ; size:   $8 (8)
  568.                         ENDR
  569.  
  570.  
  571.  
  572. loopTimeBase                    EQU        1
  573. palindromeLoopTimeBase            EQU        2
  574. maintainTimeBaseZero            EQU        4
  575. ; typedef unsigned long                 TimeBaseFlags
  576.  
  577. TimeBaseRecord            RECORD 0
  578. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  579. sizeof                     EQU *                    ; size:   $4 (4)
  580.                         ENDR
  581. ; typedef struct TimeBaseRecord *        TimeBase
  582.  
  583. CallBackRecord            RECORD 0
  584. data                     ds.l    1                ; offset: $0 (0) <-- really an array of length one
  585. sizeof                     EQU *                    ; size:   $4 (4)
  586.                         ENDR
  587. ; typedef struct CallBackRecord *        QTCallBack
  588.  
  589. TimeRecord                RECORD 0
  590. value                     ds        CompTimeValue    ; offset: $0 (0)        ;  units 
  591. scale                     ds.l    1                ; offset: $8 (8)        ;  units per second 
  592. base                     ds.l    1                ; offset: $C (12)
  593. sizeof                     EQU *                    ; size:   $10 (16)
  594.                         ENDR
  595. ;  CallBack equates 
  596.  
  597. triggerTimeFwd                    EQU        $0001                ; when curTime exceeds triggerTime going forward 
  598. triggerTimeBwd                    EQU        $0002                ; when curTime exceeds triggerTime going backwards 
  599. triggerTimeEither                EQU        $0003                ; when curTime exceeds triggerTime going either direction 
  600. triggerRateLT                    EQU        $0004                ; when rate changes to less than trigger value 
  601. triggerRateGT                    EQU        $0008                ; when rate changes to greater than trigger value 
  602. triggerRateEqual                EQU        $0010                ; when rate changes to equal trigger value 
  603. triggerRateLTE                    EQU        $0014
  604. triggerRateGTE                    EQU        $0018
  605. triggerRateNotEqual                EQU        $001C
  606. triggerRateChange                EQU        0
  607. triggerAtStart                    EQU        $0001
  608. triggerAtStop                    EQU        $0002
  609. ; typedef unsigned short                 QTCallBackFlags
  610.  
  611.  
  612. timeBaseBeforeStartTime            EQU        1
  613. timeBaseAfterStopTime            EQU        2
  614. ; typedef unsigned long                 TimeBaseStatus
  615.  
  616.  
  617. callBackAtTime                    EQU        1
  618. callBackAtRate                    EQU        2
  619. callBackAtTimeJump                EQU        3
  620. callBackAtExtremes                EQU        4
  621. callBackAtInterrupt                EQU        $8000
  622. callBackAtDeferredTask            EQU        $4000
  623. ; typedef unsigned short                 QTCallBackType
  624.  
  625.  
  626. qtcbNeedsRateChanges            EQU        1                    ; wants to know about rate changes 
  627. qtcbNeedsTimeChanges            EQU        2                    ; wants to know about time changes 
  628. qtcbNeedsStartStopChanges        EQU        4                    ; wants to know when TimeBase start/stop is changed
  629. QTCallBackHeader        RECORD 0
  630. callBackFlags             ds.l    1                ; offset: $0 (0)
  631. reserved1                 ds.l    1                ; offset: $4 (4)
  632. qtPrivate                 ds.b    40                ; offset: $8 (8)
  633. sizeof                     EQU *                    ; size:   $30 (48)
  634.                         ENDR
  635. QTSyncTaskRecord        RECORD 0
  636. qLink                     ds.l    1                ; offset: $0 (0)
  637. proc                     ds.l    1                ; offset: $4 (4)
  638. sizeof                     EQU *                    ; size:   $8 (8)
  639.                         ENDR
  640. ; typedef struct QTSyncTaskRecord *        QTSyncTaskPtr
  641.  
  642.  
  643. keepInRam                        EQU        $01                    ; load and make non-purgable
  644. unkeepInRam                        EQU        $02                    ; mark as purgable
  645. flushFromRam                    EQU        $04                    ; empty those handles
  646. loadForwardTrackEdits            EQU        $08                    ;    load track edits into ram for playing forward
  647. loadBackwardTrackEdits            EQU        $10                    ;    load track edits into ram for playing in reverse
  648.  
  649. newMovieActive                    EQU        $01
  650. newMovieDontResolveDataRefs        EQU        $02
  651. newMovieDontAskUnresolvedDataRefs EQU    $04
  652. newMovieDontAutoAlternates        EQU        $08
  653. newMovieDontUpdateForeBackPointers EQU    $10
  654. ;  track usage bits 
  655.  
  656. trackUsageInMovie                EQU        $02
  657. trackUsageInPreview                EQU        $04
  658. trackUsageInPoster                EQU        $08
  659. ;  Add/GetMediaSample flags 
  660.  
  661. mediaSampleNotSync                EQU        $01                    ; sample is not a sync sample (eg. is frame differenced 
  662. mediaSampleShadowSync            EQU        $02                    ; sample is a shadow sync 
  663.  
  664. pasteInParallel                    EQU        $01
  665. showUserSettingsDialog            EQU        $02
  666. movieToFileOnlyExport            EQU        $04
  667. movieFileSpecValid                EQU        $08
  668.  
  669. nextTimeMediaSample                EQU        $01
  670. nextTimeMediaEdit                EQU        $02
  671. nextTimeTrackEdit                EQU        $04
  672. nextTimeSyncSample                EQU        $08
  673. nextTimeStep                    EQU        $10
  674. nextTimeEdgeOK                    EQU        $4000
  675. nextTimeIgnoreActiveSegment        EQU        $8000
  676. ; typedef unsigned short                 nextTimeFlagsEnum
  677.  
  678.  
  679. createMovieFileDeleteCurFile    EQU        $80000000
  680. createMovieFileDontCreateMovie    EQU        $40000000
  681. createMovieFileDontOpenFile        EQU        $20000000
  682. createMovieFileDontCreateResFile EQU    $10000000
  683. ; typedef unsigned long                 createMovieFileFlagsEnum
  684.  
  685.  
  686. flattenAddMovieToDataFork        EQU        $00000001
  687. flattenActiveTracksOnly            EQU        $00000004
  688. flattenDontInterleaveFlatten    EQU        $00000008
  689. flattenFSSpecPtrIsDataRefRecordPtr EQU    $00000010
  690. flattenCompressMovieResource    EQU        $00000020
  691. flattenForceMovieResourceBeforeMovieData EQU $00000040
  692. ; typedef unsigned long                 movieFlattenFlagsEnum
  693.  
  694.  
  695. movieInDataForkResID            EQU        -1                    ; magic res ID 
  696.  
  697. mcTopLeftMovie                    EQU        $01                    ; usually centered 
  698. mcScaleMovieToFit                EQU        $02                    ; usually only scales down 
  699. mcWithBadge                        EQU        $04                    ; give me a badge 
  700. mcNotVisible                    EQU        $08                    ; don't show controller 
  701. mcWithFrame                        EQU        $10                    ; gimme a frame 
  702.  
  703. movieScrapDontZeroScrap            EQU        $01
  704. movieScrapOnlyPutMovie            EQU        $02
  705.  
  706. dataRefSelfReference            EQU        $01
  707. dataRefWasNotResolved            EQU        $02
  708. ; typedef unsigned long                 dataRefAttributesFlags
  709.  
  710.  
  711. hintsScrubMode                    EQU        $01                    ; mask == && (if flags == scrub on, flags != scrub off) 
  712. hintsLoop                        EQU        $02
  713. hintsDontPurge                    EQU        $04
  714. hintsUseScreenBuffer            EQU        $20
  715. hintsAllowInterlace                EQU        $40
  716. hintsUseSoundInterp                EQU        $80
  717. hintsHighQuality                EQU        $0100                ; slooooow 
  718. hintsPalindrome                    EQU        $0200
  719. hintsInactive                    EQU        $0800
  720. hintsOffscreen                    EQU        $1000
  721. hintsDontDraw                    EQU        $2000
  722. hintsAllowBlacklining            EQU        $4000
  723. ; typedef unsigned long                 playHintsEnum
  724.  
  725.  
  726. mediaHandlerFlagBaseClient        EQU        1
  727. ; typedef unsigned long                 mediaHandlerFlagsEnum
  728.  
  729.  
  730. movieTrackMediaType                EQU        $01
  731. movieTrackCharacteristic        EQU        $02
  732. movieTrackEnabledOnly            EQU        $04
  733. SampleReferenceRecord    RECORD 0
  734. dataOffset                 ds.l    1                ; offset: $0 (0)
  735. dataSize                 ds.l    1                ; offset: $4 (4)
  736. durationPerSample         ds.l    1                ; offset: $8 (8)
  737. numberOfSamples             ds.l    1                ; offset: $C (12)
  738. sampleFlags                 ds.w    1                ; offset: $10 (16)
  739. sizeof                     EQU *                    ; size:   $12 (18)
  740.                         ENDR
  741. ; typedef struct SampleReferenceRecord * SampleReferencePtr
  742.  
  743.  
  744. ; *************************
  745. ;* Initialization Routines 
  746. ;*************************
  747.  
  748. ;
  749. ; pascal void CheckQuickTimeRegistration(void *registrationKey, long flags)
  750. ;
  751.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  752.         Macro
  753.         _CheckQuickTimeRegistration
  754.             move.w              #$02DA,D0
  755.             dc.w                $AAAA
  756.         EndM
  757.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  758.         IMPORT_CFM_FUNCTION CheckQuickTimeRegistration
  759.     ENDIF
  760.  
  761. ;
  762. ; pascal OSErr EnterMovies(void )
  763. ;
  764.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  765.         Macro
  766.         _EnterMovies
  767.             moveq               #1,D0
  768.             dc.w                $AAAA
  769.         EndM
  770.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  771.         IMPORT_CFM_FUNCTION EnterMovies
  772.     ENDIF
  773.  
  774. ;
  775. ; pascal void ExitMovies(void )
  776. ;
  777.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  778.         Macro
  779.         _ExitMovies
  780.             moveq               #2,D0
  781.             dc.w                $AAAA
  782.         EndM
  783.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  784.         IMPORT_CFM_FUNCTION ExitMovies
  785.     ENDIF
  786.  
  787. ; *************************
  788. ;* Error Routines 
  789. ;*************************
  790.  
  791.  
  792. ;
  793. ; pascal OSErr GetMoviesError(void )
  794. ;
  795.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  796.         Macro
  797.         _GetMoviesError
  798.             moveq               #3,D0
  799.             dc.w                $AAAA
  800.         EndM
  801.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  802.         IMPORT_CFM_FUNCTION GetMoviesError
  803.     ENDIF
  804.  
  805. ;
  806. ; pascal void ClearMoviesStickyError(void )
  807. ;
  808.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  809.         Macro
  810.         _ClearMoviesStickyError
  811.             move.w              #$00DE,D0
  812.             dc.w                $AAAA
  813.         EndM
  814.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  815.         IMPORT_CFM_FUNCTION ClearMoviesStickyError
  816.     ENDIF
  817.  
  818. ;
  819. ; pascal OSErr GetMoviesStickyError(void )
  820. ;
  821.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  822.         Macro
  823.         _GetMoviesStickyError
  824.             moveq               #4,D0
  825.             dc.w                $AAAA
  826.         EndM
  827.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  828.         IMPORT_CFM_FUNCTION GetMoviesStickyError
  829.     ENDIF
  830.  
  831. ;
  832. ; pascal void SetMoviesErrorProc(MoviesErrorUPP errProc, long refcon)
  833. ;
  834.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  835.         Macro
  836.         _SetMoviesErrorProc
  837.             move.w              #$00EF,D0
  838.             dc.w                $AAAA
  839.         EndM
  840.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  841.         IMPORT_CFM_FUNCTION SetMoviesErrorProc
  842.     ENDIF
  843.  
  844. ; *************************
  845. ;* Idle Routines 
  846. ;*************************
  847.  
  848. ;
  849. ; pascal void MoviesTask(Movie theMovie, long maxMilliSecToUse)
  850. ;
  851.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  852.         Macro
  853.         _MoviesTask
  854.             moveq               #5,D0
  855.             dc.w                $AAAA
  856.         EndM
  857.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  858.         IMPORT_CFM_FUNCTION MoviesTask
  859.     ENDIF
  860.  
  861. ;
  862. ; pascal OSErr PrerollMovie(Movie theMovie, TimeValue time, Fixed Rate)
  863. ;
  864.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  865.         Macro
  866.         _PrerollMovie
  867.             moveq               #6,D0
  868.             dc.w                $AAAA
  869.         EndM
  870.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  871.         IMPORT_CFM_FUNCTION PrerollMovie
  872.     ENDIF
  873.  
  874. ;
  875. ; pascal OSErr LoadMovieIntoRam(Movie theMovie, TimeValue time, TimeValue duration, long flags)
  876. ;
  877.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  878.         Macro
  879.         _LoadMovieIntoRam
  880.             moveq               #7,D0
  881.             dc.w                $AAAA
  882.         EndM
  883.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  884.         IMPORT_CFM_FUNCTION LoadMovieIntoRam
  885.     ENDIF
  886.  
  887. ;
  888. ; pascal OSErr LoadTrackIntoRam(Track theTrack, TimeValue time, TimeValue duration, long flags)
  889. ;
  890.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  891.         Macro
  892.         _LoadTrackIntoRam
  893.             move.w              #$016E,D0
  894.             dc.w                $AAAA
  895.         EndM
  896.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  897.         IMPORT_CFM_FUNCTION LoadTrackIntoRam
  898.     ENDIF
  899.  
  900. ;
  901. ; pascal OSErr LoadMediaIntoRam(Media theMedia, TimeValue time, TimeValue duration, long flags)
  902. ;
  903.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  904.         Macro
  905.         _LoadMediaIntoRam
  906.             moveq               #8,D0
  907.             dc.w                $AAAA
  908.         EndM
  909.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  910.         IMPORT_CFM_FUNCTION LoadMediaIntoRam
  911.     ENDIF
  912.  
  913. ;
  914. ; pascal void SetMovieActive(Movie theMovie, Boolean active)
  915. ;
  916.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  917.         Macro
  918.         _SetMovieActive
  919.             moveq               #9,D0
  920.             dc.w                $AAAA
  921.         EndM
  922.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  923.         IMPORT_CFM_FUNCTION SetMovieActive
  924.     ENDIF
  925.  
  926. ;
  927. ; pascal Boolean GetMovieActive(Movie theMovie)
  928. ;
  929.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  930.         Macro
  931.         _GetMovieActive
  932.             moveq               #10,D0
  933.             dc.w                $AAAA
  934.         EndM
  935.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  936.         IMPORT_CFM_FUNCTION GetMovieActive
  937.     ENDIF
  938.  
  939. ; *************************
  940. ;* calls for playing movies, previews, posters
  941. ;*************************
  942.  
  943. ;
  944. ; pascal void StartMovie(Movie theMovie)
  945. ;
  946.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  947.         Macro
  948.         _StartMovie
  949.             moveq               #11,D0
  950.             dc.w                $AAAA
  951.         EndM
  952.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  953.         IMPORT_CFM_FUNCTION StartMovie
  954.     ENDIF
  955.  
  956. ;
  957. ; pascal void StopMovie(Movie theMovie)
  958. ;
  959.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  960.         Macro
  961.         _StopMovie
  962.             moveq               #12,D0
  963.             dc.w                $AAAA
  964.         EndM
  965.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  966.         IMPORT_CFM_FUNCTION StopMovie
  967.     ENDIF
  968.  
  969. ;
  970. ; pascal void GoToBeginningOfMovie(Movie theMovie)
  971. ;
  972.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  973.         Macro
  974.         _GoToBeginningOfMovie
  975.             moveq               #13,D0
  976.             dc.w                $AAAA
  977.         EndM
  978.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  979.         IMPORT_CFM_FUNCTION GoToBeginningOfMovie
  980.     ENDIF
  981.  
  982. ;
  983. ; pascal void GoToEndOfMovie(Movie theMovie)
  984. ;
  985.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  986.         Macro
  987.         _GoToEndOfMovie
  988.             moveq               #14,D0
  989.             dc.w                $AAAA
  990.         EndM
  991.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  992.         IMPORT_CFM_FUNCTION GoToEndOfMovie
  993.     ENDIF
  994.  
  995. ;
  996. ; pascal Boolean IsMovieDone(Movie theMovie)
  997. ;
  998.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  999.         Macro
  1000.         _IsMovieDone
  1001.             move.w              #$00DD,D0
  1002.             dc.w                $AAAA
  1003.         EndM
  1004.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1005.         IMPORT_CFM_FUNCTION IsMovieDone
  1006.     ENDIF
  1007.  
  1008. ;
  1009. ; pascal Boolean GetMoviePreviewMode(Movie theMovie)
  1010. ;
  1011.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1012.         Macro
  1013.         _GetMoviePreviewMode
  1014.             moveq               #15,D0
  1015.             dc.w                $AAAA
  1016.         EndM
  1017.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1018.         IMPORT_CFM_FUNCTION GetMoviePreviewMode
  1019.     ENDIF
  1020.  
  1021. ;
  1022. ; pascal void SetMoviePreviewMode(Movie theMovie, Boolean usePreview)
  1023. ;
  1024.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1025.         Macro
  1026.         _SetMoviePreviewMode
  1027.             moveq               #16,D0
  1028.             dc.w                $AAAA
  1029.         EndM
  1030.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1031.         IMPORT_CFM_FUNCTION SetMoviePreviewMode
  1032.     ENDIF
  1033.  
  1034. ;
  1035. ; pascal void ShowMoviePoster(Movie theMovie)
  1036. ;
  1037.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1038.         Macro
  1039.         _ShowMoviePoster
  1040.             moveq               #17,D0
  1041.             dc.w                $AAAA
  1042.         EndM
  1043.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1044.         IMPORT_CFM_FUNCTION ShowMoviePoster
  1045.     ENDIF
  1046.  
  1047. ;
  1048. ; pascal void PlayMoviePreview(Movie theMovie, MoviePreviewCallOutUPP callOutProc, long refcon)
  1049. ;
  1050.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1051.         Macro
  1052.         _PlayMoviePreview
  1053.             move.w              #$00F2,D0
  1054.             dc.w                $AAAA
  1055.         EndM
  1056.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1057.         IMPORT_CFM_FUNCTION PlayMoviePreview
  1058.     ENDIF
  1059.  
  1060. ; *************************
  1061. ;* calls for controlling movies & tracks which are playing
  1062. ;*************************
  1063.  
  1064. ;
  1065. ; pascal TimeBase GetMovieTimeBase(Movie theMovie)
  1066. ;
  1067.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1068.         Macro
  1069.         _GetMovieTimeBase
  1070.             moveq               #18,D0
  1071.             dc.w                $AAAA
  1072.         EndM
  1073.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1074.         IMPORT_CFM_FUNCTION GetMovieTimeBase
  1075.     ENDIF
  1076.  
  1077. ;
  1078. ; pascal void SetMovieMasterTimeBase(Movie theMovie, TimeBase tb, const TimeRecord *slaveZero)
  1079. ;
  1080.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1081.         Macro
  1082.         _SetMovieMasterTimeBase
  1083.             move.w              #$0167,D0
  1084.             dc.w                $AAAA
  1085.         EndM
  1086.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1087.         IMPORT_CFM_FUNCTION SetMovieMasterTimeBase
  1088.     ENDIF
  1089.  
  1090. ;
  1091. ; pascal void SetMovieMasterClock(Movie theMovie, Component clockMeister, const TimeRecord *slaveZero)
  1092. ;
  1093.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1094.         Macro
  1095.         _SetMovieMasterClock
  1096.             move.w              #$0168,D0
  1097.             dc.w                $AAAA
  1098.         EndM
  1099.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1100.         IMPORT_CFM_FUNCTION SetMovieMasterClock
  1101.     ENDIF
  1102.  
  1103. ;
  1104. ; pascal void GetMovieGWorld(Movie theMovie, CGrafPtr *port, GDHandle *gdh)
  1105. ;
  1106.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1107.         Macro
  1108.         _GetMovieGWorld
  1109.             moveq               #21,D0
  1110.             dc.w                $AAAA
  1111.         EndM
  1112.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1113.         IMPORT_CFM_FUNCTION GetMovieGWorld
  1114.     ENDIF
  1115.  
  1116. ;
  1117. ; pascal void SetMovieGWorld(Movie theMovie, CGrafPtr port, GDHandle gdh)
  1118. ;
  1119.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1120.         Macro
  1121.         _SetMovieGWorld
  1122.             moveq               #22,D0
  1123.             dc.w                $AAAA
  1124.         EndM
  1125.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1126.         IMPORT_CFM_FUNCTION SetMovieGWorld
  1127.     ENDIF
  1128.  
  1129.  
  1130. movieDrawingCallWhenChanged        EQU        0
  1131. movieDrawingCallAlways            EQU        1
  1132. ;
  1133. ; pascal void SetMovieDrawingCompleteProc(Movie theMovie, long flags, MovieDrawingCompleteUPP proc, long refCon)
  1134. ;
  1135.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1136.         Macro
  1137.         _SetMovieDrawingCompleteProc
  1138.             move.w              #$01DE,D0
  1139.             dc.w                $AAAA
  1140.         EndM
  1141.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1142.         IMPORT_CFM_FUNCTION SetMovieDrawingCompleteProc
  1143.     ENDIF
  1144.  
  1145.  
  1146. ;
  1147. ; pascal void GetMovieNaturalBoundsRect(Movie theMovie, Rect *naturalBounds)
  1148. ;
  1149.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1150.         Macro
  1151.         _GetMovieNaturalBoundsRect
  1152.             move.w              #$022C,D0
  1153.             dc.w                $AAAA
  1154.         EndM
  1155.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1156.         IMPORT_CFM_FUNCTION GetMovieNaturalBoundsRect
  1157.     ENDIF
  1158.  
  1159. ;
  1160. ; pascal Track GetNextTrackForCompositing(Movie theMovie, Track theTrack)
  1161. ;
  1162.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1163.         Macro
  1164.         _GetNextTrackForCompositing
  1165.             move.w              #$01FA,D0
  1166.             dc.w                $AAAA
  1167.         EndM
  1168.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1169.         IMPORT_CFM_FUNCTION GetNextTrackForCompositing
  1170.     ENDIF
  1171.  
  1172. ;
  1173. ; pascal Track GetPrevTrackForCompositing(Movie theMovie, Track theTrack)
  1174. ;
  1175.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1176.         Macro
  1177.         _GetPrevTrackForCompositing
  1178.             move.w              #$01FB,D0
  1179.             dc.w                $AAAA
  1180.         EndM
  1181.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1182.         IMPORT_CFM_FUNCTION GetPrevTrackForCompositing
  1183.     ENDIF
  1184.  
  1185. ;
  1186. ; pascal void SetTrackGWorld(Track theTrack, CGrafPtr port, GDHandle gdh, TrackTransferUPP proc, long refCon)
  1187. ;
  1188.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1189.         Macro
  1190.         _SetTrackGWorld
  1191.             move.w              #$009D,D0
  1192.             dc.w                $AAAA
  1193.         EndM
  1194.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1195.         IMPORT_CFM_FUNCTION SetTrackGWorld
  1196.     ENDIF
  1197.  
  1198. ;
  1199. ; pascal PicHandle GetMoviePict(Movie theMovie, TimeValue time)
  1200. ;
  1201.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1202.         Macro
  1203.         _GetMoviePict
  1204.             moveq               #29,D0
  1205.             dc.w                $AAAA
  1206.         EndM
  1207.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1208.         IMPORT_CFM_FUNCTION GetMoviePict
  1209.     ENDIF
  1210.  
  1211. ;
  1212. ; pascal PicHandle GetTrackPict(Track theTrack, TimeValue time)
  1213. ;
  1214.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1215.         Macro
  1216.         _GetTrackPict
  1217.             moveq               #30,D0
  1218.             dc.w                $AAAA
  1219.         EndM
  1220.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1221.         IMPORT_CFM_FUNCTION GetTrackPict
  1222.     ENDIF
  1223.  
  1224. ;
  1225. ; pascal PicHandle GetMoviePosterPict(Movie theMovie)
  1226. ;
  1227.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1228.         Macro
  1229.         _GetMoviePosterPict
  1230.             move.w              #$00F7,D0
  1231.             dc.w                $AAAA
  1232.         EndM
  1233.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1234.         IMPORT_CFM_FUNCTION GetMoviePosterPict
  1235.     ENDIF
  1236.  
  1237. ;  called between Begin & EndUpdate 
  1238. ;
  1239. ; pascal OSErr UpdateMovie(Movie theMovie)
  1240. ;
  1241.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1242.         Macro
  1243.         _UpdateMovie
  1244.             moveq               #31,D0
  1245.             dc.w                $AAAA
  1246.         EndM
  1247.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1248.         IMPORT_CFM_FUNCTION UpdateMovie
  1249.     ENDIF
  1250.  
  1251. ;
  1252. ; pascal OSErr InvalidateMovieRegion(Movie theMovie, RgnHandle invalidRgn)
  1253. ;
  1254.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1255.         Macro
  1256.         _InvalidateMovieRegion
  1257.             move.w              #$022A,D0
  1258.             dc.w                $AAAA
  1259.         EndM
  1260.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1261.         IMPORT_CFM_FUNCTION InvalidateMovieRegion
  1262.     ENDIF
  1263.  
  1264. ; *** spatial movie routines ***
  1265. ;
  1266. ; pascal void GetMovieBox(Movie theMovie, Rect *boxRect)
  1267. ;
  1268.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1269.         Macro
  1270.         _GetMovieBox
  1271.             move.w              #$00F9,D0
  1272.             dc.w                $AAAA
  1273.         EndM
  1274.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1275.         IMPORT_CFM_FUNCTION GetMovieBox
  1276.     ENDIF
  1277.  
  1278. ;
  1279. ; pascal void SetMovieBox(Movie theMovie, const Rect *boxRect)
  1280. ;
  1281.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1282.         Macro
  1283.         _SetMovieBox
  1284.             move.w              #$00FA,D0
  1285.             dc.w                $AAAA
  1286.         EndM
  1287.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1288.         IMPORT_CFM_FUNCTION SetMovieBox
  1289.     ENDIF
  1290.  
  1291. ;
  1292. ; pascal RgnHandle GetMovieDisplayClipRgn(Movie theMovie)
  1293. ;
  1294.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1295.         Macro
  1296.         _GetMovieDisplayClipRgn
  1297.             move.w              #$00FC,D0
  1298.             dc.w                $AAAA
  1299.         EndM
  1300.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1301.         IMPORT_CFM_FUNCTION GetMovieDisplayClipRgn
  1302.     ENDIF
  1303.  
  1304. ;
  1305. ; pascal void SetMovieDisplayClipRgn(Movie theMovie, RgnHandle theClip)
  1306. ;
  1307.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1308.         Macro
  1309.         _SetMovieDisplayClipRgn
  1310.             move.w              #$00FD,D0
  1311.             dc.w                $AAAA
  1312.         EndM
  1313.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1314.         IMPORT_CFM_FUNCTION SetMovieDisplayClipRgn
  1315.     ENDIF
  1316.  
  1317. ;
  1318. ; pascal RgnHandle GetMovieClipRgn(Movie theMovie)
  1319. ;
  1320.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1321.         Macro
  1322.         _GetMovieClipRgn
  1323.             move.w              #$0100,D0
  1324.             dc.w                $AAAA
  1325.         EndM
  1326.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1327.         IMPORT_CFM_FUNCTION GetMovieClipRgn
  1328.     ENDIF
  1329.  
  1330. ;
  1331. ; pascal void SetMovieClipRgn(Movie theMovie, RgnHandle theClip)
  1332. ;
  1333.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1334.         Macro
  1335.         _SetMovieClipRgn
  1336.             move.w              #$0101,D0
  1337.             dc.w                $AAAA
  1338.         EndM
  1339.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1340.         IMPORT_CFM_FUNCTION SetMovieClipRgn
  1341.     ENDIF
  1342.  
  1343. ;
  1344. ; pascal RgnHandle GetTrackClipRgn(Track theTrack)
  1345. ;
  1346.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1347.         Macro
  1348.         _GetTrackClipRgn
  1349.             move.w              #$0102,D0
  1350.             dc.w                $AAAA
  1351.         EndM
  1352.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1353.         IMPORT_CFM_FUNCTION GetTrackClipRgn
  1354.     ENDIF
  1355.  
  1356. ;
  1357. ; pascal void SetTrackClipRgn(Track theTrack, RgnHandle theClip)
  1358. ;
  1359.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1360.         Macro
  1361.         _SetTrackClipRgn
  1362.             move.w              #$0103,D0
  1363.             dc.w                $AAAA
  1364.         EndM
  1365.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1366.         IMPORT_CFM_FUNCTION SetTrackClipRgn
  1367.     ENDIF
  1368.  
  1369. ;
  1370. ; pascal RgnHandle GetMovieDisplayBoundsRgn(Movie theMovie)
  1371. ;
  1372.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1373.         Macro
  1374.         _GetMovieDisplayBoundsRgn
  1375.             move.w              #$00FB,D0
  1376.             dc.w                $AAAA
  1377.         EndM
  1378.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1379.         IMPORT_CFM_FUNCTION GetMovieDisplayBoundsRgn
  1380.     ENDIF
  1381.  
  1382. ;
  1383. ; pascal RgnHandle GetTrackDisplayBoundsRgn(Track theTrack)
  1384. ;
  1385.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1386.         Macro
  1387.         _GetTrackDisplayBoundsRgn
  1388.             move.w              #$0112,D0
  1389.             dc.w                $AAAA
  1390.         EndM
  1391.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1392.         IMPORT_CFM_FUNCTION GetTrackDisplayBoundsRgn
  1393.     ENDIF
  1394.  
  1395. ;
  1396. ; pascal RgnHandle GetMovieBoundsRgn(Movie theMovie)
  1397. ;
  1398.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1399.         Macro
  1400.         _GetMovieBoundsRgn
  1401.             move.w              #$00FE,D0
  1402.             dc.w                $AAAA
  1403.         EndM
  1404.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1405.         IMPORT_CFM_FUNCTION GetMovieBoundsRgn
  1406.     ENDIF
  1407.  
  1408. ;
  1409. ; pascal RgnHandle GetTrackMovieBoundsRgn(Track theTrack)
  1410. ;
  1411.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1412.         Macro
  1413.         _GetTrackMovieBoundsRgn
  1414.             move.w              #$00FF,D0
  1415.             dc.w                $AAAA
  1416.         EndM
  1417.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1418.         IMPORT_CFM_FUNCTION GetTrackMovieBoundsRgn
  1419.     ENDIF
  1420.  
  1421. ;
  1422. ; pascal RgnHandle GetTrackBoundsRgn(Track theTrack)
  1423. ;
  1424.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1425.         Macro
  1426.         _GetTrackBoundsRgn
  1427.             move.w              #$0111,D0
  1428.             dc.w                $AAAA
  1429.         EndM
  1430.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1431.         IMPORT_CFM_FUNCTION GetTrackBoundsRgn
  1432.     ENDIF
  1433.  
  1434. ;
  1435. ; pascal PixMapHandle GetTrackMatte(Track theTrack)
  1436. ;
  1437.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1438.         Macro
  1439.         _GetTrackMatte
  1440.             move.w              #$0115,D0
  1441.             dc.w                $AAAA
  1442.         EndM
  1443.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1444.         IMPORT_CFM_FUNCTION GetTrackMatte
  1445.     ENDIF
  1446.  
  1447. ;
  1448. ; pascal void SetTrackMatte(Track theTrack, PixMapHandle theMatte)
  1449. ;
  1450.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1451.         Macro
  1452.         _SetTrackMatte
  1453.             move.w              #$0116,D0
  1454.             dc.w                $AAAA
  1455.         EndM
  1456.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1457.         IMPORT_CFM_FUNCTION SetTrackMatte
  1458.     ENDIF
  1459.  
  1460. ;
  1461. ; pascal void DisposeMatte(PixMapHandle theMatte)
  1462. ;
  1463.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1464.         Macro
  1465.         _DisposeMatte
  1466.             move.w              #$014A,D0
  1467.             dc.w                $AAAA
  1468.         EndM
  1469.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1470.         IMPORT_CFM_FUNCTION DisposeMatte
  1471.     ENDIF
  1472.  
  1473. ; *************************
  1474. ;* calls for getting/saving movies
  1475. ;*************************
  1476.  
  1477. ;
  1478. ; pascal Movie NewMovie(long flags)
  1479. ;
  1480.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1481.         Macro
  1482.         _NewMovie
  1483.             move.w              #$0187,D0
  1484.             dc.w                $AAAA
  1485.         EndM
  1486.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1487.         IMPORT_CFM_FUNCTION NewMovie
  1488.     ENDIF
  1489.  
  1490. ;
  1491. ; pascal OSErr PutMovieIntoHandle(Movie theMovie, Handle publicMovie)
  1492. ;
  1493.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1494.         Macro
  1495.         _PutMovieIntoHandle
  1496.             moveq               #34,D0
  1497.             dc.w                $AAAA
  1498.         EndM
  1499.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1500.         IMPORT_CFM_FUNCTION PutMovieIntoHandle
  1501.     ENDIF
  1502.  
  1503. ;
  1504. ; pascal OSErr PutMovieIntoDataFork(Movie theMovie, short fRefNum, long offset, long maxSize)
  1505. ;
  1506.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1507.         Macro
  1508.         _PutMovieIntoDataFork
  1509.             move.w              #$01B4,D0
  1510.             dc.w                $AAAA
  1511.         EndM
  1512.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1513.         IMPORT_CFM_FUNCTION PutMovieIntoDataFork
  1514.     ENDIF
  1515.  
  1516. ;
  1517. ; pascal void DisposeMovie(Movie theMovie)
  1518. ;
  1519.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1520.         Macro
  1521.         _DisposeMovie
  1522.             moveq               #35,D0
  1523.             dc.w                $AAAA
  1524.         EndM
  1525.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1526.         IMPORT_CFM_FUNCTION DisposeMovie
  1527.     ENDIF
  1528.  
  1529. ; *************************
  1530. ;* Movie State Routines
  1531. ;*************************
  1532.  
  1533. ;
  1534. ; pascal unsigned long GetMovieCreationTime(Movie theMovie)
  1535. ;
  1536.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1537.         Macro
  1538.         _GetMovieCreationTime
  1539.             moveq               #38,D0
  1540.             dc.w                $AAAA
  1541.         EndM
  1542.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1543.         IMPORT_CFM_FUNCTION GetMovieCreationTime
  1544.     ENDIF
  1545.  
  1546. ;
  1547. ; pascal unsigned long GetMovieModificationTime(Movie theMovie)
  1548. ;
  1549.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1550.         Macro
  1551.         _GetMovieModificationTime
  1552.             moveq               #39,D0
  1553.             dc.w                $AAAA
  1554.         EndM
  1555.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1556.         IMPORT_CFM_FUNCTION GetMovieModificationTime
  1557.     ENDIF
  1558.  
  1559. ;
  1560. ; pascal TimeScale GetMovieTimeScale(Movie theMovie)
  1561. ;
  1562.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1563.         Macro
  1564.         _GetMovieTimeScale
  1565.             moveq               #41,D0
  1566.             dc.w                $AAAA
  1567.         EndM
  1568.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1569.         IMPORT_CFM_FUNCTION GetMovieTimeScale
  1570.     ENDIF
  1571.  
  1572. ;
  1573. ; pascal void SetMovieTimeScale(Movie theMovie, TimeScale timeScale)
  1574. ;
  1575.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1576.         Macro
  1577.         _SetMovieTimeScale
  1578.             moveq               #42,D0
  1579.             dc.w                $AAAA
  1580.         EndM
  1581.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1582.         IMPORT_CFM_FUNCTION SetMovieTimeScale
  1583.     ENDIF
  1584.  
  1585. ;
  1586. ; pascal TimeValue GetMovieDuration(Movie theMovie)
  1587. ;
  1588.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1589.         Macro
  1590.         _GetMovieDuration
  1591.             moveq               #43,D0
  1592.             dc.w                $AAAA
  1593.         EndM
  1594.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1595.         IMPORT_CFM_FUNCTION GetMovieDuration
  1596.     ENDIF
  1597.  
  1598. ;
  1599. ; pascal Fixed GetMovieRate(Movie theMovie)
  1600. ;
  1601.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1602.         Macro
  1603.         _GetMovieRate
  1604.             moveq               #44,D0
  1605.             dc.w                $AAAA
  1606.         EndM
  1607.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1608.         IMPORT_CFM_FUNCTION GetMovieRate
  1609.     ENDIF
  1610.  
  1611. ;
  1612. ; pascal void SetMovieRate(Movie theMovie, Fixed rate)
  1613. ;
  1614.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1615.         Macro
  1616.         _SetMovieRate
  1617.             moveq               #45,D0
  1618.             dc.w                $AAAA
  1619.         EndM
  1620.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1621.         IMPORT_CFM_FUNCTION SetMovieRate
  1622.     ENDIF
  1623.  
  1624. ;
  1625. ; pascal Fixed GetMoviePreferredRate(Movie theMovie)
  1626. ;
  1627.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1628.         Macro
  1629.         _GetMoviePreferredRate
  1630.             move.w              #$00F3,D0
  1631.             dc.w                $AAAA
  1632.         EndM
  1633.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1634.         IMPORT_CFM_FUNCTION GetMoviePreferredRate
  1635.     ENDIF
  1636.  
  1637. ;
  1638. ; pascal void SetMoviePreferredRate(Movie theMovie, Fixed rate)
  1639. ;
  1640.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1641.         Macro
  1642.         _SetMoviePreferredRate
  1643.             move.w              #$00F4,D0
  1644.             dc.w                $AAAA
  1645.         EndM
  1646.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1647.         IMPORT_CFM_FUNCTION SetMoviePreferredRate
  1648.     ENDIF
  1649.  
  1650. ;
  1651. ; pascal short GetMoviePreferredVolume(Movie theMovie)
  1652. ;
  1653.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1654.         Macro
  1655.         _GetMoviePreferredVolume
  1656.             move.w              #$00F5,D0
  1657.             dc.w                $AAAA
  1658.         EndM
  1659.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1660.         IMPORT_CFM_FUNCTION GetMoviePreferredVolume
  1661.     ENDIF
  1662.  
  1663. ;
  1664. ; pascal void SetMoviePreferredVolume(Movie theMovie, short volume)
  1665. ;
  1666.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1667.         Macro
  1668.         _SetMoviePreferredVolume
  1669.             move.w              #$00F6,D0
  1670.             dc.w                $AAAA
  1671.         EndM
  1672.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1673.         IMPORT_CFM_FUNCTION SetMoviePreferredVolume
  1674.     ENDIF
  1675.  
  1676. ;
  1677. ; pascal short GetMovieVolume(Movie theMovie)
  1678. ;
  1679.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1680.         Macro
  1681.         _GetMovieVolume
  1682.             moveq               #46,D0
  1683.             dc.w                $AAAA
  1684.         EndM
  1685.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1686.         IMPORT_CFM_FUNCTION GetMovieVolume
  1687.     ENDIF
  1688.  
  1689. ;
  1690. ; pascal void SetMovieVolume(Movie theMovie, short volume)
  1691. ;
  1692.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1693.         Macro
  1694.         _SetMovieVolume
  1695.             moveq               #47,D0
  1696.             dc.w                $AAAA
  1697.         EndM
  1698.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1699.         IMPORT_CFM_FUNCTION SetMovieVolume
  1700.     ENDIF
  1701.  
  1702. ;
  1703. ; pascal void GetMovieMatrix(Movie theMovie, MatrixRecord *matrix)
  1704. ;
  1705.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1706.         Macro
  1707.         _GetMovieMatrix
  1708.             moveq               #49,D0
  1709.             dc.w                $AAAA
  1710.         EndM
  1711.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1712.         IMPORT_CFM_FUNCTION GetMovieMatrix
  1713.     ENDIF
  1714.  
  1715. ;
  1716. ; pascal void SetMovieMatrix(Movie theMovie, const MatrixRecord *matrix)
  1717. ;
  1718.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1719.         Macro
  1720.         _SetMovieMatrix
  1721.             moveq               #50,D0
  1722.             dc.w                $AAAA
  1723.         EndM
  1724.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1725.         IMPORT_CFM_FUNCTION SetMovieMatrix
  1726.     ENDIF
  1727.  
  1728. ;
  1729. ; pascal void GetMoviePreviewTime(Movie theMovie, TimeValue *previewTime, TimeValue *previewDuration)
  1730. ;
  1731.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1732.         Macro
  1733.         _GetMoviePreviewTime
  1734.             moveq               #51,D0
  1735.             dc.w                $AAAA
  1736.         EndM
  1737.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1738.         IMPORT_CFM_FUNCTION GetMoviePreviewTime
  1739.     ENDIF
  1740.  
  1741. ;
  1742. ; pascal void SetMoviePreviewTime(Movie theMovie, TimeValue previewTime, TimeValue previewDuration)
  1743. ;
  1744.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1745.         Macro
  1746.         _SetMoviePreviewTime
  1747.             moveq               #52,D0
  1748.             dc.w                $AAAA
  1749.         EndM
  1750.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1751.         IMPORT_CFM_FUNCTION SetMoviePreviewTime
  1752.     ENDIF
  1753.  
  1754. ;
  1755. ; pascal TimeValue GetMoviePosterTime(Movie theMovie)
  1756. ;
  1757.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1758.         Macro
  1759.         _GetMoviePosterTime
  1760.             moveq               #53,D0
  1761.             dc.w                $AAAA
  1762.         EndM
  1763.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1764.         IMPORT_CFM_FUNCTION GetMoviePosterTime
  1765.     ENDIF
  1766.  
  1767. ;
  1768. ; pascal void SetMoviePosterTime(Movie theMovie, TimeValue posterTime)
  1769. ;
  1770.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1771.         Macro
  1772.         _SetMoviePosterTime
  1773.             moveq               #54,D0
  1774.             dc.w                $AAAA
  1775.         EndM
  1776.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1777.         IMPORT_CFM_FUNCTION SetMoviePosterTime
  1778.     ENDIF
  1779.  
  1780. ;
  1781. ; pascal void GetMovieSelection(Movie theMovie, TimeValue *selectionTime, TimeValue *selectionDuration)
  1782. ;
  1783.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1784.         Macro
  1785.         _GetMovieSelection
  1786.             moveq               #55,D0
  1787.             dc.w                $AAAA
  1788.         EndM
  1789.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1790.         IMPORT_CFM_FUNCTION GetMovieSelection
  1791.     ENDIF
  1792.  
  1793. ;
  1794. ; pascal void SetMovieSelection(Movie theMovie, TimeValue selectionTime, TimeValue selectionDuration)
  1795. ;
  1796.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1797.         Macro
  1798.         _SetMovieSelection
  1799.             moveq               #56,D0
  1800.             dc.w                $AAAA
  1801.         EndM
  1802.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1803.         IMPORT_CFM_FUNCTION SetMovieSelection
  1804.     ENDIF
  1805.  
  1806. ;
  1807. ; pascal void SetMovieActiveSegment(Movie theMovie, TimeValue startTime, TimeValue duration)
  1808. ;
  1809.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1810.         Macro
  1811.         _SetMovieActiveSegment
  1812.             move.w              #$015C,D0
  1813.             dc.w                $AAAA
  1814.         EndM
  1815.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1816.         IMPORT_CFM_FUNCTION SetMovieActiveSegment
  1817.     ENDIF
  1818.  
  1819. ;
  1820. ; pascal void GetMovieActiveSegment(Movie theMovie, TimeValue *startTime, TimeValue *duration)
  1821. ;
  1822.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1823.         Macro
  1824.         _GetMovieActiveSegment
  1825.             move.w              #$015D,D0
  1826.             dc.w                $AAAA
  1827.         EndM
  1828.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1829.         IMPORT_CFM_FUNCTION GetMovieActiveSegment
  1830.     ENDIF
  1831.  
  1832. ;
  1833. ; pascal TimeValue GetMovieTime(Movie theMovie, TimeRecord *currentTime)
  1834. ;
  1835.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1836.         Macro
  1837.         _GetMovieTime
  1838.             moveq               #57,D0
  1839.             dc.w                $AAAA
  1840.         EndM
  1841.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1842.         IMPORT_CFM_FUNCTION GetMovieTime
  1843.     ENDIF
  1844.  
  1845. ;
  1846. ; pascal void SetMovieTime(Movie theMovie, const TimeRecord *newtime)
  1847. ;
  1848.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1849.         Macro
  1850.         _SetMovieTime
  1851.             moveq               #60,D0
  1852.             dc.w                $AAAA
  1853.         EndM
  1854.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1855.         IMPORT_CFM_FUNCTION SetMovieTime
  1856.     ENDIF
  1857.  
  1858. ;
  1859. ; pascal void SetMovieTimeValue(Movie theMovie, TimeValue newtime)
  1860. ;
  1861.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1862.         Macro
  1863.         _SetMovieTimeValue
  1864.             moveq               #61,D0
  1865.             dc.w                $AAAA
  1866.         EndM
  1867.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1868.         IMPORT_CFM_FUNCTION SetMovieTimeValue
  1869.     ENDIF
  1870.  
  1871.  
  1872. ;
  1873. ; pascal UserData GetMovieUserData(Movie theMovie)
  1874. ;
  1875.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1876.         Macro
  1877.         _GetMovieUserData
  1878.             moveq               #62,D0
  1879.             dc.w                $AAAA
  1880.         EndM
  1881.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1882.         IMPORT_CFM_FUNCTION GetMovieUserData
  1883.     ENDIF
  1884.  
  1885.  
  1886. ; *************************
  1887. ;* Track/Media finding routines
  1888. ;*************************
  1889.  
  1890. ;
  1891. ; pascal long GetMovieTrackCount(Movie theMovie)
  1892. ;
  1893.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1894.         Macro
  1895.         _GetMovieTrackCount
  1896.             moveq               #63,D0
  1897.             dc.w                $AAAA
  1898.         EndM
  1899.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1900.         IMPORT_CFM_FUNCTION GetMovieTrackCount
  1901.     ENDIF
  1902.  
  1903. ;
  1904. ; pascal Track GetMovieTrack(Movie theMovie, long trackID)
  1905. ;
  1906.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1907.         Macro
  1908.         _GetMovieTrack
  1909.             moveq               #64,D0
  1910.             dc.w                $AAAA
  1911.         EndM
  1912.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1913.         IMPORT_CFM_FUNCTION GetMovieTrack
  1914.     ENDIF
  1915.  
  1916. ;
  1917. ; pascal Track GetMovieIndTrack(Movie theMovie, long index)
  1918. ;
  1919.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1920.         Macro
  1921.         _GetMovieIndTrack
  1922.             move.w              #$0117,D0
  1923.             dc.w                $AAAA
  1924.         EndM
  1925.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1926.         IMPORT_CFM_FUNCTION GetMovieIndTrack
  1927.     ENDIF
  1928.  
  1929. ;
  1930. ; pascal Track GetMovieIndTrackType(Movie theMovie, long index, OSType trackType, long flags)
  1931. ;
  1932.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1933.         Macro
  1934.         _GetMovieIndTrackType
  1935.             move.w              #$0208,D0
  1936.             dc.w                $AAAA
  1937.         EndM
  1938.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1939.         IMPORT_CFM_FUNCTION GetMovieIndTrackType
  1940.     ENDIF
  1941.  
  1942. ;
  1943. ; pascal long GetTrackID(Track theTrack)
  1944. ;
  1945.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1946.         Macro
  1947.         _GetTrackID
  1948.             move.w              #$0127,D0
  1949.             dc.w                $AAAA
  1950.         EndM
  1951.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1952.         IMPORT_CFM_FUNCTION GetTrackID
  1953.     ENDIF
  1954.  
  1955. ;
  1956. ; pascal Movie GetTrackMovie(Track theTrack)
  1957. ;
  1958.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1959.         Macro
  1960.         _GetTrackMovie
  1961.             move.w              #$00D0,D0
  1962.             dc.w                $AAAA
  1963.         EndM
  1964.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1965.         IMPORT_CFM_FUNCTION GetTrackMovie
  1966.     ENDIF
  1967.  
  1968. ; *************************
  1969. ;* Track creation routines
  1970. ;*************************
  1971.  
  1972. ;
  1973. ; pascal Track NewMovieTrack(Movie theMovie, Fixed width, Fixed height, short trackVolume)
  1974. ;
  1975.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1976.         Macro
  1977.         _NewMovieTrack
  1978.             move.w              #$0188,D0
  1979.             dc.w                $AAAA
  1980.         EndM
  1981.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1982.         IMPORT_CFM_FUNCTION NewMovieTrack
  1983.     ENDIF
  1984.  
  1985. ;
  1986. ; pascal void DisposeMovieTrack(Track theTrack)
  1987. ;
  1988.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  1989.         Macro
  1990.         _DisposeMovieTrack
  1991.             moveq               #66,D0
  1992.             dc.w                $AAAA
  1993.         EndM
  1994.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  1995.         IMPORT_CFM_FUNCTION DisposeMovieTrack
  1996.     ENDIF
  1997.  
  1998. ; *************************
  1999. ;* Track State routines
  2000. ;*************************
  2001.  
  2002. ;
  2003. ; pascal unsigned long GetTrackCreationTime(Track theTrack)
  2004. ;
  2005.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2006.         Macro
  2007.         _GetTrackCreationTime
  2008.             moveq               #67,D0
  2009.             dc.w                $AAAA
  2010.         EndM
  2011.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2012.         IMPORT_CFM_FUNCTION GetTrackCreationTime
  2013.     ENDIF
  2014.  
  2015. ;
  2016. ; pascal unsigned long GetTrackModificationTime(Track theTrack)
  2017. ;
  2018.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2019.         Macro
  2020.         _GetTrackModificationTime
  2021.             moveq               #68,D0
  2022.             dc.w                $AAAA
  2023.         EndM
  2024.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2025.         IMPORT_CFM_FUNCTION GetTrackModificationTime
  2026.     ENDIF
  2027.  
  2028.  
  2029. ;
  2030. ; pascal Boolean GetTrackEnabled(Track theTrack)
  2031. ;
  2032.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2033.         Macro
  2034.         _GetTrackEnabled
  2035.             moveq               #69,D0
  2036.             dc.w                $AAAA
  2037.         EndM
  2038.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2039.         IMPORT_CFM_FUNCTION GetTrackEnabled
  2040.     ENDIF
  2041.  
  2042. ;
  2043. ; pascal void SetTrackEnabled(Track theTrack, Boolean isEnabled)
  2044. ;
  2045.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2046.         Macro
  2047.         _SetTrackEnabled
  2048.             moveq               #70,D0
  2049.             dc.w                $AAAA
  2050.         EndM
  2051.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2052.         IMPORT_CFM_FUNCTION SetTrackEnabled
  2053.     ENDIF
  2054.  
  2055. ;
  2056. ; pascal long GetTrackUsage(Track theTrack)
  2057. ;
  2058.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2059.         Macro
  2060.         _GetTrackUsage
  2061.             moveq               #71,D0
  2062.             dc.w                $AAAA
  2063.         EndM
  2064.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2065.         IMPORT_CFM_FUNCTION GetTrackUsage
  2066.     ENDIF
  2067.  
  2068. ;
  2069. ; pascal void SetTrackUsage(Track theTrack, long usage)
  2070. ;
  2071.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2072.         Macro
  2073.         _SetTrackUsage
  2074.             moveq               #72,D0
  2075.             dc.w                $AAAA
  2076.         EndM
  2077.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2078.         IMPORT_CFM_FUNCTION SetTrackUsage
  2079.     ENDIF
  2080.  
  2081. ;
  2082. ; pascal TimeValue GetTrackDuration(Track theTrack)
  2083. ;
  2084.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2085.         Macro
  2086.         _GetTrackDuration
  2087.             moveq               #75,D0
  2088.             dc.w                $AAAA
  2089.         EndM
  2090.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2091.         IMPORT_CFM_FUNCTION GetTrackDuration
  2092.     ENDIF
  2093.  
  2094. ;
  2095. ; pascal TimeValue GetTrackOffset(Track theTrack)
  2096. ;
  2097.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2098.         Macro
  2099.         _GetTrackOffset
  2100.             moveq               #76,D0
  2101.             dc.w                $AAAA
  2102.         EndM
  2103.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2104.         IMPORT_CFM_FUNCTION GetTrackOffset
  2105.     ENDIF
  2106.  
  2107. ;
  2108. ; pascal void SetTrackOffset(Track theTrack, TimeValue movieOffsetTime)
  2109. ;
  2110.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2111.         Macro
  2112.         _SetTrackOffset
  2113.             moveq               #77,D0
  2114.             dc.w                $AAAA
  2115.         EndM
  2116.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2117.         IMPORT_CFM_FUNCTION SetTrackOffset
  2118.     ENDIF
  2119.  
  2120. ;
  2121. ; pascal short GetTrackLayer(Track theTrack)
  2122. ;
  2123.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2124.         Macro
  2125.         _GetTrackLayer
  2126.             moveq               #80,D0
  2127.             dc.w                $AAAA
  2128.         EndM
  2129.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2130.         IMPORT_CFM_FUNCTION GetTrackLayer
  2131.     ENDIF
  2132.  
  2133. ;
  2134. ; pascal void SetTrackLayer(Track theTrack, short layer)
  2135. ;
  2136.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2137.         Macro
  2138.         _SetTrackLayer
  2139.             moveq               #81,D0
  2140.             dc.w                $AAAA
  2141.         EndM
  2142.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2143.         IMPORT_CFM_FUNCTION SetTrackLayer
  2144.     ENDIF
  2145.  
  2146. ;
  2147. ; pascal Track GetTrackAlternate(Track theTrack)
  2148. ;
  2149.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2150.         Macro
  2151.         _GetTrackAlternate
  2152.             moveq               #82,D0
  2153.             dc.w                $AAAA
  2154.         EndM
  2155.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2156.         IMPORT_CFM_FUNCTION GetTrackAlternate
  2157.     ENDIF
  2158.  
  2159. ;
  2160. ; pascal void SetTrackAlternate(Track theTrack, Track alternateT)
  2161. ;
  2162.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2163.         Macro
  2164.         _SetTrackAlternate
  2165.             moveq               #83,D0
  2166.             dc.w                $AAAA
  2167.         EndM
  2168.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2169.         IMPORT_CFM_FUNCTION SetTrackAlternate
  2170.     ENDIF
  2171.  
  2172. ;
  2173. ; pascal void SetAutoTrackAlternatesEnabled(Movie theMovie, Boolean enable)
  2174. ;
  2175.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2176.         Macro
  2177.         _SetAutoTrackAlternatesEnabled
  2178.             move.w              #$015E,D0
  2179.             dc.w                $AAAA
  2180.         EndM
  2181.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2182.         IMPORT_CFM_FUNCTION SetAutoTrackAlternatesEnabled
  2183.     ENDIF
  2184.  
  2185. ;
  2186. ; pascal void SelectMovieAlternates(Movie theMovie)
  2187. ;
  2188.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2189.         Macro
  2190.         _SelectMovieAlternates
  2191.             move.w              #$015F,D0
  2192.             dc.w                $AAAA
  2193.         EndM
  2194.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2195.         IMPORT_CFM_FUNCTION SelectMovieAlternates
  2196.     ENDIF
  2197.  
  2198. ;
  2199. ; pascal short GetTrackVolume(Track theTrack)
  2200. ;
  2201.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2202.         Macro
  2203.         _GetTrackVolume
  2204.             moveq               #84,D0
  2205.             dc.w                $AAAA
  2206.         EndM
  2207.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2208.         IMPORT_CFM_FUNCTION GetTrackVolume
  2209.     ENDIF
  2210.  
  2211. ;
  2212. ; pascal void SetTrackVolume(Track theTrack, short volume)
  2213. ;
  2214.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2215.         Macro
  2216.         _SetTrackVolume
  2217.             moveq               #85,D0
  2218.             dc.w                $AAAA
  2219.         EndM
  2220.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2221.         IMPORT_CFM_FUNCTION SetTrackVolume
  2222.     ENDIF
  2223.  
  2224. ;
  2225. ; pascal void GetTrackMatrix(Track theTrack, MatrixRecord *matrix)
  2226. ;
  2227.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2228.         Macro
  2229.         _GetTrackMatrix
  2230.             moveq               #86,D0
  2231.             dc.w                $AAAA
  2232.         EndM
  2233.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2234.         IMPORT_CFM_FUNCTION GetTrackMatrix
  2235.     ENDIF
  2236.  
  2237. ;
  2238. ; pascal void SetTrackMatrix(Track theTrack, const MatrixRecord *matrix)
  2239. ;
  2240.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2241.         Macro
  2242.         _SetTrackMatrix
  2243.             moveq               #87,D0
  2244.             dc.w                $AAAA
  2245.         EndM
  2246.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2247.         IMPORT_CFM_FUNCTION SetTrackMatrix
  2248.     ENDIF
  2249.  
  2250. ;
  2251. ; pascal void GetTrackDimensions(Track theTrack, Fixed *width, Fixed *height)
  2252. ;
  2253.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2254.         Macro
  2255.         _GetTrackDimensions
  2256.             moveq               #93,D0
  2257.             dc.w                $AAAA
  2258.         EndM
  2259.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2260.         IMPORT_CFM_FUNCTION GetTrackDimensions
  2261.     ENDIF
  2262.  
  2263. ;
  2264. ; pascal void SetTrackDimensions(Track theTrack, Fixed width, Fixed height)
  2265. ;
  2266.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2267.         Macro
  2268.         _SetTrackDimensions
  2269.             moveq               #94,D0
  2270.             dc.w                $AAAA
  2271.         EndM
  2272.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2273.         IMPORT_CFM_FUNCTION SetTrackDimensions
  2274.     ENDIF
  2275.  
  2276. ;
  2277. ; pascal UserData GetTrackUserData(Track theTrack)
  2278. ;
  2279.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2280.         Macro
  2281.         _GetTrackUserData
  2282.             moveq               #95,D0
  2283.             dc.w                $AAAA
  2284.         EndM
  2285.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2286.         IMPORT_CFM_FUNCTION GetTrackUserData
  2287.     ENDIF
  2288.  
  2289. ;
  2290. ; pascal OSErr GetTrackDisplayMatrix(Track theTrack, MatrixRecord *matrix)
  2291. ;
  2292.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2293.         Macro
  2294.         _GetTrackDisplayMatrix
  2295.             move.w              #$0263,D0
  2296.             dc.w                $AAAA
  2297.         EndM
  2298.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2299.         IMPORT_CFM_FUNCTION GetTrackDisplayMatrix
  2300.     ENDIF
  2301.  
  2302. ;
  2303. ; pascal OSErr GetTrackSoundLocalizationSettings(Track theTrack, Handle *settings)
  2304. ;
  2305.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2306.         Macro
  2307.         _GetTrackSoundLocalizationSettings
  2308.             move.w              #$0282,D0
  2309.             dc.w                $AAAA
  2310.         EndM
  2311.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2312.         IMPORT_CFM_FUNCTION GetTrackSoundLocalizationSettings
  2313.     ENDIF
  2314.  
  2315. ;
  2316. ; pascal OSErr SetTrackSoundLocalizationSettings(Track theTrack, Handle settings)
  2317. ;
  2318.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2319.         Macro
  2320.         _SetTrackSoundLocalizationSettings
  2321.             move.w              #$0283,D0
  2322.             dc.w                $AAAA
  2323.         EndM
  2324.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2325.         IMPORT_CFM_FUNCTION SetTrackSoundLocalizationSettings
  2326.     ENDIF
  2327.  
  2328. ; *************************
  2329. ;* get Media routines
  2330. ;*************************
  2331.  
  2332. ;
  2333. ; pascal Media NewTrackMedia(Track theTrack, OSType mediaType, TimeScale timeScale, Handle dataRef, OSType dataRefType)
  2334. ;
  2335.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2336.         Macro
  2337.         _NewTrackMedia
  2338.             move.w              #$018E,D0
  2339.             dc.w                $AAAA
  2340.         EndM
  2341.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2342.         IMPORT_CFM_FUNCTION NewTrackMedia
  2343.     ENDIF
  2344.  
  2345. ;
  2346. ; pascal void DisposeTrackMedia(Media theMedia)
  2347. ;
  2348.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2349.         Macro
  2350.         _DisposeTrackMedia
  2351.             moveq               #97,D0
  2352.             dc.w                $AAAA
  2353.         EndM
  2354.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2355.         IMPORT_CFM_FUNCTION DisposeTrackMedia
  2356.     ENDIF
  2357.  
  2358. ;
  2359. ; pascal Media GetTrackMedia(Track theTrack)
  2360. ;
  2361.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2362.         Macro
  2363.         _GetTrackMedia
  2364.             moveq               #98,D0
  2365.             dc.w                $AAAA
  2366.         EndM
  2367.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2368.         IMPORT_CFM_FUNCTION GetTrackMedia
  2369.     ENDIF
  2370.  
  2371. ;
  2372. ; pascal Track GetMediaTrack(Media theMedia)
  2373. ;
  2374.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2375.         Macro
  2376.         _GetMediaTrack
  2377.             move.w              #$00C5,D0
  2378.             dc.w                $AAAA
  2379.         EndM
  2380.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2381.         IMPORT_CFM_FUNCTION GetMediaTrack
  2382.     ENDIF
  2383.  
  2384.  
  2385.  
  2386. ; *************************
  2387. ;* Media State routines
  2388. ;*************************
  2389.  
  2390. ;
  2391. ; pascal unsigned long GetMediaCreationTime(Media theMedia)
  2392. ;
  2393.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2394.         Macro
  2395.         _GetMediaCreationTime
  2396.             moveq               #102,D0
  2397.             dc.w                $AAAA
  2398.         EndM
  2399.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2400.         IMPORT_CFM_FUNCTION GetMediaCreationTime
  2401.     ENDIF
  2402.  
  2403. ;
  2404. ; pascal unsigned long GetMediaModificationTime(Media theMedia)
  2405. ;
  2406.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2407.         Macro
  2408.         _GetMediaModificationTime
  2409.             moveq               #103,D0
  2410.             dc.w                $AAAA
  2411.         EndM
  2412.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2413.         IMPORT_CFM_FUNCTION GetMediaModificationTime
  2414.     ENDIF
  2415.  
  2416. ;
  2417. ; pascal TimeScale GetMediaTimeScale(Media theMedia)
  2418. ;
  2419.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2420.         Macro
  2421.         _GetMediaTimeScale
  2422.             moveq               #104,D0
  2423.             dc.w                $AAAA
  2424.         EndM
  2425.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2426.         IMPORT_CFM_FUNCTION GetMediaTimeScale
  2427.     ENDIF
  2428.  
  2429. ;
  2430. ; pascal void SetMediaTimeScale(Media theMedia, TimeScale timeScale)
  2431. ;
  2432.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2433.         Macro
  2434.         _SetMediaTimeScale
  2435.             moveq               #105,D0
  2436.             dc.w                $AAAA
  2437.         EndM
  2438.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2439.         IMPORT_CFM_FUNCTION SetMediaTimeScale
  2440.     ENDIF
  2441.  
  2442. ;
  2443. ; pascal TimeValue GetMediaDuration(Media theMedia)
  2444. ;
  2445.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2446.         Macro
  2447.         _GetMediaDuration
  2448.             moveq               #106,D0
  2449.             dc.w                $AAAA
  2450.         EndM
  2451.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2452.         IMPORT_CFM_FUNCTION GetMediaDuration
  2453.     ENDIF
  2454.  
  2455. ;
  2456. ; pascal short GetMediaLanguage(Media theMedia)
  2457. ;
  2458.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2459.         Macro
  2460.         _GetMediaLanguage
  2461.             moveq               #107,D0
  2462.             dc.w                $AAAA
  2463.         EndM
  2464.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2465.         IMPORT_CFM_FUNCTION GetMediaLanguage
  2466.     ENDIF
  2467.  
  2468. ;
  2469. ; pascal void SetMediaLanguage(Media theMedia, short language)
  2470. ;
  2471.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2472.         Macro
  2473.         _SetMediaLanguage
  2474.             moveq               #108,D0
  2475.             dc.w                $AAAA
  2476.         EndM
  2477.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2478.         IMPORT_CFM_FUNCTION SetMediaLanguage
  2479.     ENDIF
  2480.  
  2481. ;
  2482. ; pascal short GetMediaQuality(Media theMedia)
  2483. ;
  2484.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2485.         Macro
  2486.         _GetMediaQuality
  2487.             moveq               #109,D0
  2488.             dc.w                $AAAA
  2489.         EndM
  2490.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2491.         IMPORT_CFM_FUNCTION GetMediaQuality
  2492.     ENDIF
  2493.  
  2494. ;
  2495. ; pascal void SetMediaQuality(Media theMedia, short quality)
  2496. ;
  2497.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2498.         Macro
  2499.         _SetMediaQuality
  2500.             moveq               #110,D0
  2501.             dc.w                $AAAA
  2502.         EndM
  2503.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2504.         IMPORT_CFM_FUNCTION SetMediaQuality
  2505.     ENDIF
  2506.  
  2507. ;
  2508. ; pascal void GetMediaHandlerDescription(Media theMedia, OSType *mediaType, Str255 creatorName, OSType *creatorManufacturer)
  2509. ;
  2510.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2511.         Macro
  2512.         _GetMediaHandlerDescription
  2513.             moveq               #111,D0
  2514.             dc.w                $AAAA
  2515.         EndM
  2516.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2517.         IMPORT_CFM_FUNCTION GetMediaHandlerDescription
  2518.     ENDIF
  2519.  
  2520. ;
  2521. ; pascal UserData GetMediaUserData(Media theMedia)
  2522. ;
  2523.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2524.         Macro
  2525.         _GetMediaUserData
  2526.             moveq               #112,D0
  2527.             dc.w                $AAAA
  2528.         EndM
  2529.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2530.         IMPORT_CFM_FUNCTION GetMediaUserData
  2531.     ENDIF
  2532.  
  2533. ;
  2534. ; pascal OSErr GetMediaInputMap(Media theMedia, QTAtomContainer *inputMap)
  2535. ;
  2536.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2537.         Macro
  2538.         _GetMediaInputMap
  2539.             move.w              #$0249,D0
  2540.             dc.w                $AAAA
  2541.         EndM
  2542.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2543.         IMPORT_CFM_FUNCTION GetMediaInputMap
  2544.     ENDIF
  2545.  
  2546. ;
  2547. ; pascal OSErr SetMediaInputMap(Media theMedia, QTAtomContainer inputMap)
  2548. ;
  2549.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2550.         Macro
  2551.         _SetMediaInputMap
  2552.             move.w              #$024A,D0
  2553.             dc.w                $AAAA
  2554.         EndM
  2555.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2556.         IMPORT_CFM_FUNCTION SetMediaInputMap
  2557.     ENDIF
  2558.  
  2559. ; *************************
  2560. ;* Media Handler routines
  2561. ;*************************
  2562.  
  2563. ;
  2564. ; pascal MediaHandler GetMediaHandler(Media theMedia)
  2565. ;
  2566.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2567.         Macro
  2568.         _GetMediaHandler
  2569.             moveq               #113,D0
  2570.             dc.w                $AAAA
  2571.         EndM
  2572.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2573.         IMPORT_CFM_FUNCTION GetMediaHandler
  2574.     ENDIF
  2575.  
  2576. ;
  2577. ; pascal OSErr SetMediaHandler(Media theMedia, MediaHandlerComponent mH)
  2578. ;
  2579.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2580.         Macro
  2581.         _SetMediaHandler
  2582.             move.w              #$0190,D0
  2583.             dc.w                $AAAA
  2584.         EndM
  2585.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2586.         IMPORT_CFM_FUNCTION SetMediaHandler
  2587.     ENDIF
  2588.  
  2589.  
  2590. ; *************************
  2591. ;* Media's Data routines
  2592. ;*************************
  2593.  
  2594. ;
  2595. ; pascal OSErr BeginMediaEdits(Media theMedia)
  2596. ;
  2597.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2598.         Macro
  2599.         _BeginMediaEdits
  2600.             moveq               #114,D0
  2601.             dc.w                $AAAA
  2602.         EndM
  2603.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2604.         IMPORT_CFM_FUNCTION BeginMediaEdits
  2605.     ENDIF
  2606.  
  2607. ;
  2608. ; pascal OSErr EndMediaEdits(Media theMedia)
  2609. ;
  2610.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2611.         Macro
  2612.         _EndMediaEdits
  2613.             moveq               #115,D0
  2614.             dc.w                $AAAA
  2615.         EndM
  2616.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2617.         IMPORT_CFM_FUNCTION EndMediaEdits
  2618.     ENDIF
  2619.  
  2620. ;
  2621. ; pascal OSErr SetMediaDefaultDataRefIndex(Media theMedia, short index)
  2622. ;
  2623.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2624.         Macro
  2625.         _SetMediaDefaultDataRefIndex
  2626.             move.w              #$01E0,D0
  2627.             dc.w                $AAAA
  2628.         EndM
  2629.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2630.         IMPORT_CFM_FUNCTION SetMediaDefaultDataRefIndex
  2631.     ENDIF
  2632.  
  2633. ;
  2634. ; pascal void GetMediaDataHandlerDescription(Media theMedia, short index, OSType *dhType, Str255 creatorName, OSType *creatorManufacturer)
  2635. ;
  2636.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2637.         Macro
  2638.         _GetMediaDataHandlerDescription
  2639.             move.w              #$019E,D0
  2640.             dc.w                $AAAA
  2641.         EndM
  2642.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2643.         IMPORT_CFM_FUNCTION GetMediaDataHandlerDescription
  2644.     ENDIF
  2645.  
  2646. ;
  2647. ; pascal DataHandler GetMediaDataHandler(Media theMedia, short index)
  2648. ;
  2649.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2650.         Macro
  2651.         _GetMediaDataHandler
  2652.             move.w              #$019F,D0
  2653.             dc.w                $AAAA
  2654.         EndM
  2655.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2656.         IMPORT_CFM_FUNCTION GetMediaDataHandler
  2657.     ENDIF
  2658.  
  2659. ;
  2660. ; pascal OSErr SetMediaDataHandler(Media theMedia, short index, DataHandlerComponent dataHandler)
  2661. ;
  2662.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2663.         Macro
  2664.         _SetMediaDataHandler
  2665.             move.w              #$01A0,D0
  2666.             dc.w                $AAAA
  2667.         EndM
  2668.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2669.         IMPORT_CFM_FUNCTION SetMediaDataHandler
  2670.     ENDIF
  2671.  
  2672. ;
  2673. ; pascal Component GetDataHandler(Handle dataRef, OSType dataHandlerSubType, long flags)
  2674. ;
  2675.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2676.         Macro
  2677.         _GetDataHandler
  2678.             move.w              #$01ED,D0
  2679.             dc.w                $AAAA
  2680.         EndM
  2681.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2682.         IMPORT_CFM_FUNCTION GetDataHandler
  2683.     ENDIF
  2684.  
  2685.  
  2686. ; *************************
  2687. ;* Media Sample Table Routines
  2688. ;*************************
  2689.  
  2690. ;
  2691. ; pascal long GetMediaSampleDescriptionCount(Media theMedia)
  2692. ;
  2693.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2694.         Macro
  2695.         _GetMediaSampleDescriptionCount
  2696.             moveq               #119,D0
  2697.             dc.w                $AAAA
  2698.         EndM
  2699.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2700.         IMPORT_CFM_FUNCTION GetMediaSampleDescriptionCount
  2701.     ENDIF
  2702.  
  2703. ;
  2704. ; pascal void GetMediaSampleDescription(Media theMedia, long index, SampleDescriptionHandle descH)
  2705. ;
  2706.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2707.         Macro
  2708.         _GetMediaSampleDescription
  2709.             moveq               #120,D0
  2710.             dc.w                $AAAA
  2711.         EndM
  2712.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2713.         IMPORT_CFM_FUNCTION GetMediaSampleDescription
  2714.     ENDIF
  2715.  
  2716. ;
  2717. ; pascal OSErr SetMediaSampleDescription(Media theMedia, long index, SampleDescriptionHandle descH)
  2718. ;
  2719.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2720.         Macro
  2721.         _SetMediaSampleDescription
  2722.             move.w              #$01D0,D0
  2723.             dc.w                $AAAA
  2724.         EndM
  2725.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2726.         IMPORT_CFM_FUNCTION SetMediaSampleDescription
  2727.     ENDIF
  2728.  
  2729. ;
  2730. ; pascal long GetMediaSampleCount(Media theMedia)
  2731. ;
  2732.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2733.         Macro
  2734.         _GetMediaSampleCount
  2735.             moveq               #121,D0
  2736.             dc.w                $AAAA
  2737.         EndM
  2738.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2739.         IMPORT_CFM_FUNCTION GetMediaSampleCount
  2740.     ENDIF
  2741.  
  2742. ;
  2743. ; pascal long GetMediaSyncSampleCount(Media theMedia)
  2744. ;
  2745.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2746.         Macro
  2747.         _GetMediaSyncSampleCount
  2748.             move.w              #$02B2,D0
  2749.             dc.w                $AAAA
  2750.         EndM
  2751.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2752.         IMPORT_CFM_FUNCTION GetMediaSyncSampleCount
  2753.     ENDIF
  2754.  
  2755. ;
  2756. ; pascal void SampleNumToMediaTime(Media theMedia, long logicalSampleNum, TimeValue *sampleTime, TimeValue *sampleDuration)
  2757. ;
  2758.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2759.         Macro
  2760.         _SampleNumToMediaTime
  2761.             moveq               #122,D0
  2762.             dc.w                $AAAA
  2763.         EndM
  2764.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2765.         IMPORT_CFM_FUNCTION SampleNumToMediaTime
  2766.     ENDIF
  2767.  
  2768. ;
  2769. ; pascal void MediaTimeToSampleNum(Media theMedia, TimeValue time, long *sampleNum, TimeValue *sampleTime, TimeValue *sampleDuration)
  2770. ;
  2771.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2772.         Macro
  2773.         _MediaTimeToSampleNum
  2774.             moveq               #123,D0
  2775.             dc.w                $AAAA
  2776.         EndM
  2777.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2778.         IMPORT_CFM_FUNCTION MediaTimeToSampleNum
  2779.     ENDIF
  2780.  
  2781.  
  2782. ;
  2783. ; pascal OSErr AddMediaSample(Media theMedia, Handle dataIn, long inOffset, unsigned long size, TimeValue durationPerSample, SampleDescriptionHandle sampleDescriptionH, long numberOfSamples, short sampleFlags, TimeValue *sampleTime)
  2784. ;
  2785.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2786.         Macro
  2787.         _AddMediaSample
  2788.             moveq               #124,D0
  2789.             dc.w                $AAAA
  2790.         EndM
  2791.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2792.         IMPORT_CFM_FUNCTION AddMediaSample
  2793.     ENDIF
  2794.  
  2795. ;
  2796. ; pascal OSErr AddMediaSampleReference(Media theMedia, long dataOffset, unsigned long size, TimeValue durationPerSample, SampleDescriptionHandle sampleDescriptionH, long numberOfSamples, short sampleFlags, TimeValue *sampleTime)
  2797. ;
  2798.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2799.         Macro
  2800.         _AddMediaSampleReference
  2801.             moveq               #125,D0
  2802.             dc.w                $AAAA
  2803.         EndM
  2804.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2805.         IMPORT_CFM_FUNCTION AddMediaSampleReference
  2806.     ENDIF
  2807.  
  2808. ;
  2809. ; pascal OSErr AddMediaSampleReferences(Media theMedia, SampleDescriptionHandle sampleDescriptionH, long numberOfSamples, SampleReferencePtr sampleRefs, TimeValue *sampleTime)
  2810. ;
  2811.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2812.         Macro
  2813.         _AddMediaSampleReferences
  2814.             move.w              #$01F7,D0
  2815.             dc.w                $AAAA
  2816.         EndM
  2817.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2818.         IMPORT_CFM_FUNCTION AddMediaSampleReferences
  2819.     ENDIF
  2820.  
  2821. ;
  2822. ; pascal OSErr GetMediaSample(Media theMedia, Handle dataOut, long maxSizeToGrow, long *size, TimeValue time, TimeValue *sampleTime, TimeValue *durationPerSample, SampleDescriptionHandle sampleDescriptionH, long *sampleDescriptionIndex, long maxNumberOfSamples, long *numberOfSamples, short *sampleFlags)
  2823. ;
  2824.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2825.         Macro
  2826.         _GetMediaSample
  2827.             moveq               #126,D0
  2828.             dc.w                $AAAA
  2829.         EndM
  2830.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2831.         IMPORT_CFM_FUNCTION GetMediaSample
  2832.     ENDIF
  2833.  
  2834. ;
  2835. ; pascal OSErr GetMediaSampleReference(Media theMedia, long *dataOffset, long *size, TimeValue time, TimeValue *sampleTime, TimeValue *durationPerSample, SampleDescriptionHandle sampleDescriptionH, long *sampleDescriptionIndex, long maxNumberOfSamples, long *numberOfSamples, short *sampleFlags)
  2836. ;
  2837.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2838.         Macro
  2839.         _GetMediaSampleReference
  2840.             moveq               #127,D0
  2841.             dc.w                $AAAA
  2842.         EndM
  2843.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2844.         IMPORT_CFM_FUNCTION GetMediaSampleReference
  2845.     ENDIF
  2846.  
  2847. ;
  2848. ; pascal OSErr GetMediaSampleReferences(Media theMedia, TimeValue time, TimeValue *sampleTime, SampleDescriptionHandle sampleDescriptionH, long *sampleDescriptionIndex, long maxNumberOfEntries, long *actualNumberofEntries, SampleReferencePtr sampleRefs)
  2849. ;
  2850.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2851.         Macro
  2852.         _GetMediaSampleReferences
  2853.             move.w              #$0235,D0
  2854.             dc.w                $AAAA
  2855.         EndM
  2856.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2857.         IMPORT_CFM_FUNCTION GetMediaSampleReferences
  2858.     ENDIF
  2859.  
  2860. ;
  2861. ; pascal OSErr SetMediaPreferredChunkSize(Media theMedia, long maxChunkSize)
  2862. ;
  2863.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2864.         Macro
  2865.         _SetMediaPreferredChunkSize
  2866.             move.w              #$01F8,D0
  2867.             dc.w                $AAAA
  2868.         EndM
  2869.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2870.         IMPORT_CFM_FUNCTION SetMediaPreferredChunkSize
  2871.     ENDIF
  2872.  
  2873. ;
  2874. ; pascal OSErr GetMediaPreferredChunkSize(Media theMedia, long *maxChunkSize)
  2875. ;
  2876.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2877.         Macro
  2878.         _GetMediaPreferredChunkSize
  2879.             move.w              #$01F9,D0
  2880.             dc.w                $AAAA
  2881.         EndM
  2882.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2883.         IMPORT_CFM_FUNCTION GetMediaPreferredChunkSize
  2884.     ENDIF
  2885.  
  2886. ;
  2887. ; pascal OSErr SetMediaShadowSync(Media theMedia, long frameDiffSampleNum, long syncSampleNum)
  2888. ;
  2889.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2890.         Macro
  2891.         _SetMediaShadowSync
  2892.             move.w              #$0121,D0
  2893.             dc.w                $AAAA
  2894.         EndM
  2895.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2896.         IMPORT_CFM_FUNCTION SetMediaShadowSync
  2897.     ENDIF
  2898.  
  2899. ;
  2900. ; pascal OSErr GetMediaShadowSync(Media theMedia, long frameDiffSampleNum, long *syncSampleNum)
  2901. ;
  2902.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2903.         Macro
  2904.         _GetMediaShadowSync
  2905.             move.w              #$0122,D0
  2906.             dc.w                $AAAA
  2907.         EndM
  2908.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2909.         IMPORT_CFM_FUNCTION GetMediaShadowSync
  2910.     ENDIF
  2911.  
  2912. ; *************************
  2913. ;* Editing Routines
  2914. ;*************************
  2915.  
  2916. ;
  2917. ; pascal OSErr InsertMediaIntoTrack(Track theTrack, TimeValue trackStart, TimeValue mediaTime, TimeValue mediaDuration, Fixed mediaRate)
  2918. ;
  2919.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2920.         Macro
  2921.         _InsertMediaIntoTrack
  2922.             move.w              #$0183,D0
  2923.             dc.w                $AAAA
  2924.         EndM
  2925.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2926.         IMPORT_CFM_FUNCTION InsertMediaIntoTrack
  2927.     ENDIF
  2928.  
  2929. ;
  2930. ; pascal OSErr InsertTrackSegment(Track srcTrack, Track dstTrack, TimeValue srcIn, TimeValue srcDuration, TimeValue dstIn)
  2931. ;
  2932.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2933.         Macro
  2934.         _InsertTrackSegment
  2935.             move.w              #$0085,D0
  2936.             dc.w                $AAAA
  2937.         EndM
  2938.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2939.         IMPORT_CFM_FUNCTION InsertTrackSegment
  2940.     ENDIF
  2941.  
  2942. ;
  2943. ; pascal OSErr InsertMovieSegment(Movie srcMovie, Movie dstMovie, TimeValue srcIn, TimeValue srcDuration, TimeValue dstIn)
  2944. ;
  2945.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2946.         Macro
  2947.         _InsertMovieSegment
  2948.             move.w              #$0086,D0
  2949.             dc.w                $AAAA
  2950.         EndM
  2951.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2952.         IMPORT_CFM_FUNCTION InsertMovieSegment
  2953.     ENDIF
  2954.  
  2955. ;
  2956. ; pascal OSErr InsertEmptyTrackSegment(Track dstTrack, TimeValue dstIn, TimeValue dstDuration)
  2957. ;
  2958.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2959.         Macro
  2960.         _InsertEmptyTrackSegment
  2961.             move.w              #$0087,D0
  2962.             dc.w                $AAAA
  2963.         EndM
  2964.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2965.         IMPORT_CFM_FUNCTION InsertEmptyTrackSegment
  2966.     ENDIF
  2967.  
  2968. ;
  2969. ; pascal OSErr InsertEmptyMovieSegment(Movie dstMovie, TimeValue dstIn, TimeValue dstDuration)
  2970. ;
  2971.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2972.         Macro
  2973.         _InsertEmptyMovieSegment
  2974.             move.w              #$0088,D0
  2975.             dc.w                $AAAA
  2976.         EndM
  2977.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2978.         IMPORT_CFM_FUNCTION InsertEmptyMovieSegment
  2979.     ENDIF
  2980.  
  2981. ;
  2982. ; pascal OSErr DeleteTrackSegment(Track theTrack, TimeValue startTime, TimeValue duration)
  2983. ;
  2984.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2985.         Macro
  2986.         _DeleteTrackSegment
  2987.             move.w              #$0089,D0
  2988.             dc.w                $AAAA
  2989.         EndM
  2990.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  2991.         IMPORT_CFM_FUNCTION DeleteTrackSegment
  2992.     ENDIF
  2993.  
  2994. ;
  2995. ; pascal OSErr DeleteMovieSegment(Movie theMovie, TimeValue startTime, TimeValue duration)
  2996. ;
  2997.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  2998.         Macro
  2999.         _DeleteMovieSegment
  3000.             move.w              #$008A,D0
  3001.             dc.w                $AAAA
  3002.         EndM
  3003.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3004.         IMPORT_CFM_FUNCTION DeleteMovieSegment
  3005.     ENDIF
  3006.  
  3007. ;
  3008. ; pascal OSErr ScaleTrackSegment(Track theTrack, TimeValue startTime, TimeValue oldDuration, TimeValue newDuration)
  3009. ;
  3010.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3011.         Macro
  3012.         _ScaleTrackSegment
  3013.             move.w              #$008B,D0
  3014.             dc.w                $AAAA
  3015.         EndM
  3016.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3017.         IMPORT_CFM_FUNCTION ScaleTrackSegment
  3018.     ENDIF
  3019.  
  3020. ;
  3021. ; pascal OSErr ScaleMovieSegment(Movie theMovie, TimeValue startTime, TimeValue oldDuration, TimeValue newDuration)
  3022. ;
  3023.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3024.         Macro
  3025.         _ScaleMovieSegment
  3026.             move.w              #$008C,D0
  3027.             dc.w                $AAAA
  3028.         EndM
  3029.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3030.         IMPORT_CFM_FUNCTION ScaleMovieSegment
  3031.     ENDIF
  3032.  
  3033.  
  3034. ; *************************
  3035. ;* Hi-level Editing Routines
  3036. ;*************************
  3037.  
  3038. ;
  3039. ; pascal Movie CutMovieSelection(Movie theMovie)
  3040. ;
  3041.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3042.         Macro
  3043.         _CutMovieSelection
  3044.             move.w              #$008D,D0
  3045.             dc.w                $AAAA
  3046.         EndM
  3047.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3048.         IMPORT_CFM_FUNCTION CutMovieSelection
  3049.     ENDIF
  3050.  
  3051. ;
  3052. ; pascal Movie CopyMovieSelection(Movie theMovie)
  3053. ;
  3054.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3055.         Macro
  3056.         _CopyMovieSelection
  3057.             move.w              #$008E,D0
  3058.             dc.w                $AAAA
  3059.         EndM
  3060.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3061.         IMPORT_CFM_FUNCTION CopyMovieSelection
  3062.     ENDIF
  3063.  
  3064. ;
  3065. ; pascal void PasteMovieSelection(Movie theMovie, Movie src)
  3066. ;
  3067.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3068.         Macro
  3069.         _PasteMovieSelection
  3070.             move.w              #$008F,D0
  3071.             dc.w                $AAAA
  3072.         EndM
  3073.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3074.         IMPORT_CFM_FUNCTION PasteMovieSelection
  3075.     ENDIF
  3076.  
  3077. ;
  3078. ; pascal void AddMovieSelection(Movie theMovie, Movie src)
  3079. ;
  3080.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3081.         Macro
  3082.         _AddMovieSelection
  3083.             move.w              #$0152,D0
  3084.             dc.w                $AAAA
  3085.         EndM
  3086.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3087.         IMPORT_CFM_FUNCTION AddMovieSelection
  3088.     ENDIF
  3089.  
  3090. ;
  3091. ; pascal void ClearMovieSelection(Movie theMovie)
  3092. ;
  3093.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3094.         Macro
  3095.         _ClearMovieSelection
  3096.             move.w              #$00E1,D0
  3097.             dc.w                $AAAA
  3098.         EndM
  3099.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3100.         IMPORT_CFM_FUNCTION ClearMovieSelection
  3101.     ENDIF
  3102.  
  3103. ;
  3104. ; pascal OSErr PasteHandleIntoMovie(Handle h, OSType handleType, Movie theMovie, long flags, ComponentInstance userComp)
  3105. ;
  3106.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3107.         Macro
  3108.         _PasteHandleIntoMovie
  3109.             move.w              #$00CB,D0
  3110.             dc.w                $AAAA
  3111.         EndM
  3112.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3113.         IMPORT_CFM_FUNCTION PasteHandleIntoMovie
  3114.     ENDIF
  3115.  
  3116. ;
  3117. ; pascal OSErr PutMovieIntoTypedHandle(Movie theMovie, Track targetTrack, OSType handleType, Handle publicMovie, TimeValue start, TimeValue dur, long flags, ComponentInstance userComp)
  3118. ;
  3119.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3120.         Macro
  3121.         _PutMovieIntoTypedHandle
  3122.             move.w              #$01CD,D0
  3123.             dc.w                $AAAA
  3124.         EndM
  3125.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3126.         IMPORT_CFM_FUNCTION PutMovieIntoTypedHandle
  3127.     ENDIF
  3128.  
  3129. ;
  3130. ; pascal Component IsScrapMovie(Track targetTrack)
  3131. ;
  3132.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3133.         Macro
  3134.         _IsScrapMovie
  3135.             move.w              #$00CC,D0
  3136.             dc.w                $AAAA
  3137.         EndM
  3138.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3139.         IMPORT_CFM_FUNCTION IsScrapMovie
  3140.     ENDIF
  3141.  
  3142. ; *************************
  3143. ;* Middle-level Editing Routines
  3144. ;*************************
  3145.  
  3146. ;
  3147. ; pascal OSErr CopyTrackSettings(Track srcTrack, Track dstTrack)
  3148. ;
  3149.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3150.         Macro
  3151.         _CopyTrackSettings
  3152.             move.w              #$0153,D0
  3153.             dc.w                $AAAA
  3154.         EndM
  3155.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3156.         IMPORT_CFM_FUNCTION CopyTrackSettings
  3157.     ENDIF
  3158.  
  3159. ;
  3160. ; pascal OSErr CopyMovieSettings(Movie srcMovie, Movie dstMovie)
  3161. ;
  3162.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3163.         Macro
  3164.         _CopyMovieSettings
  3165.             move.w              #$0154,D0
  3166.             dc.w                $AAAA
  3167.         EndM
  3168.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3169.         IMPORT_CFM_FUNCTION CopyMovieSettings
  3170.     ENDIF
  3171.  
  3172. ;
  3173. ; pascal OSErr AddEmptyTrackToMovie(Track srcTrack, Movie dstMovie, Handle dataRef, OSType dataRefType, Track *dstTrack)
  3174. ;
  3175.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3176.         Macro
  3177.         _AddEmptyTrackToMovie
  3178.             moveq               #116,D0
  3179.             dc.w                $AAAA
  3180.         EndM
  3181.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3182.         IMPORT_CFM_FUNCTION AddEmptyTrackToMovie
  3183.     ENDIF
  3184.  
  3185. ; *************************
  3186. ;* movie & track edit state routines
  3187. ;*************************
  3188.  
  3189. ;
  3190. ; pascal MovieEditState NewMovieEditState(Movie theMovie)
  3191. ;
  3192.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3193.         Macro
  3194.         _NewMovieEditState
  3195.             move.w              #$0104,D0
  3196.             dc.w                $AAAA
  3197.         EndM
  3198.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3199.         IMPORT_CFM_FUNCTION NewMovieEditState
  3200.     ENDIF
  3201.  
  3202. ;
  3203. ; pascal OSErr UseMovieEditState(Movie theMovie, MovieEditState toState)
  3204. ;
  3205.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3206.         Macro
  3207.         _UseMovieEditState
  3208.             move.w              #$0105,D0
  3209.             dc.w                $AAAA
  3210.         EndM
  3211.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3212.         IMPORT_CFM_FUNCTION UseMovieEditState
  3213.     ENDIF
  3214.  
  3215. ;
  3216. ; pascal OSErr DisposeMovieEditState(MovieEditState state)
  3217. ;
  3218.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3219.         Macro
  3220.         _DisposeMovieEditState
  3221.             move.w              #$0106,D0
  3222.             dc.w                $AAAA
  3223.         EndM
  3224.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3225.         IMPORT_CFM_FUNCTION DisposeMovieEditState
  3226.     ENDIF
  3227.  
  3228. ;
  3229. ; pascal TrackEditState NewTrackEditState(Track theTrack)
  3230. ;
  3231.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3232.         Macro
  3233.         _NewTrackEditState
  3234.             move.w              #$0107,D0
  3235.             dc.w                $AAAA
  3236.         EndM
  3237.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3238.         IMPORT_CFM_FUNCTION NewTrackEditState
  3239.     ENDIF
  3240.  
  3241. ;
  3242. ; pascal OSErr UseTrackEditState(Track theTrack, TrackEditState state)
  3243. ;
  3244.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3245.         Macro
  3246.         _UseTrackEditState
  3247.             move.w              #$0108,D0
  3248.             dc.w                $AAAA
  3249.         EndM
  3250.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3251.         IMPORT_CFM_FUNCTION UseTrackEditState
  3252.     ENDIF
  3253.  
  3254. ;
  3255. ; pascal OSErr DisposeTrackEditState(TrackEditState state)
  3256. ;
  3257.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3258.         Macro
  3259.         _DisposeTrackEditState
  3260.             move.w              #$0109,D0
  3261.             dc.w                $AAAA
  3262.         EndM
  3263.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3264.         IMPORT_CFM_FUNCTION DisposeTrackEditState
  3265.     ENDIF
  3266.  
  3267. ; *************************
  3268. ;* track reference routines
  3269. ;*************************
  3270.  
  3271. ;
  3272. ; pascal OSErr AddTrackReference(Track theTrack, Track refTrack, OSType refType, long *addedIndex)
  3273. ;
  3274.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3275.         Macro
  3276.         _AddTrackReference
  3277.             move.w              #$01F0,D0
  3278.             dc.w                $AAAA
  3279.         EndM
  3280.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3281.         IMPORT_CFM_FUNCTION AddTrackReference
  3282.     ENDIF
  3283.  
  3284. ;
  3285. ; pascal OSErr DeleteTrackReference(Track theTrack, OSType refType, long index)
  3286. ;
  3287.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3288.         Macro
  3289.         _DeleteTrackReference
  3290.             move.w              #$01F1,D0
  3291.             dc.w                $AAAA
  3292.         EndM
  3293.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3294.         IMPORT_CFM_FUNCTION DeleteTrackReference
  3295.     ENDIF
  3296.  
  3297. ;
  3298. ; pascal OSErr SetTrackReference(Track theTrack, Track refTrack, OSType refType, long index)
  3299. ;
  3300.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3301.         Macro
  3302.         _SetTrackReference
  3303.             move.w              #$01F2,D0
  3304.             dc.w                $AAAA
  3305.         EndM
  3306.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3307.         IMPORT_CFM_FUNCTION SetTrackReference
  3308.     ENDIF
  3309.  
  3310. ;
  3311. ; pascal Track GetTrackReference(Track theTrack, OSType refType, long index)
  3312. ;
  3313.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3314.         Macro
  3315.         _GetTrackReference
  3316.             move.w              #$01F3,D0
  3317.             dc.w                $AAAA
  3318.         EndM
  3319.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3320.         IMPORT_CFM_FUNCTION GetTrackReference
  3321.     ENDIF
  3322.  
  3323. ;
  3324. ; pascal OSType GetNextTrackReferenceType(Track theTrack, OSType refType)
  3325. ;
  3326.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3327.         Macro
  3328.         _GetNextTrackReferenceType
  3329.             move.w              #$01F4,D0
  3330.             dc.w                $AAAA
  3331.         EndM
  3332.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3333.         IMPORT_CFM_FUNCTION GetNextTrackReferenceType
  3334.     ENDIF
  3335.  
  3336. ;
  3337. ; pascal long GetTrackReferenceCount(Track theTrack, OSType refType)
  3338. ;
  3339.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3340.         Macro
  3341.         _GetTrackReferenceCount
  3342.             move.w              #$01F5,D0
  3343.             dc.w                $AAAA
  3344.         EndM
  3345.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3346.         IMPORT_CFM_FUNCTION GetTrackReferenceCount
  3347.     ENDIF
  3348.  
  3349.  
  3350. ; *************************
  3351. ;* high level file conversion routines
  3352. ;*************************
  3353.  
  3354. ;
  3355. ; pascal OSErr ConvertFileToMovieFile(const FSSpec *inputFile, const FSSpec *outputFile, OSType creator, ScriptCode scriptTag, short *resID, long flags, ComponentInstance userComp, MovieProgressUPP proc, long refCon)
  3356. ;
  3357.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3358.         Macro
  3359.         _ConvertFileToMovieFile
  3360.             move.w              #$01CB,D0
  3361.             dc.w                $AAAA
  3362.         EndM
  3363.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3364.         IMPORT_CFM_FUNCTION ConvertFileToMovieFile
  3365.     ENDIF
  3366.  
  3367. ;
  3368. ; pascal OSErr ConvertMovieToFile(Movie theMovie, Track onlyTrack, FSSpec *outputFile, OSType fileType, OSType creator, ScriptCode scriptTag, short *resID, long flags, ComponentInstance userComp)
  3369. ;
  3370.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3371.         Macro
  3372.         _ConvertMovieToFile
  3373.             move.w              #$01CC,D0
  3374.             dc.w                $AAAA
  3375.         EndM
  3376.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3377.         IMPORT_CFM_FUNCTION ConvertMovieToFile
  3378.     ENDIF
  3379.  
  3380.  
  3381. kGetMovieImporterValidateToFind    EQU        $00000001
  3382. kGetMovieImporterAllowNewFile    EQU        $00000002
  3383. kGetMovieImporterDontConsiderGraphicsImporters EQU $00000004
  3384. ;
  3385. ; pascal OSErr GetMovieImporterForDataRef(OSType dataRefType, Handle dataRef, long flags, Component *importer)
  3386. ;
  3387.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3388.         Macro
  3389.         _GetMovieImporterForDataRef
  3390.             move.w              #$02C7,D0
  3391.             dc.w                $AAAA
  3392.         EndM
  3393.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3394.         IMPORT_CFM_FUNCTION GetMovieImporterForDataRef
  3395.     ENDIF
  3396.  
  3397. ; *************************
  3398. ;* Movie Timebase Conversion Routines
  3399. ;*************************
  3400.  
  3401. ;
  3402. ; pascal TimeValue TrackTimeToMediaTime(TimeValue value, Track theTrack)
  3403. ;
  3404.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3405.         Macro
  3406.         _TrackTimeToMediaTime
  3407.             move.w              #$0096,D0
  3408.             dc.w                $AAAA
  3409.         EndM
  3410.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3411.         IMPORT_CFM_FUNCTION TrackTimeToMediaTime
  3412.     ENDIF
  3413.  
  3414. ;
  3415. ; pascal Fixed GetTrackEditRate(Track theTrack, TimeValue atTime)
  3416. ;
  3417.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3418.         Macro
  3419.         _GetTrackEditRate
  3420.             move.w              #$0123,D0
  3421.             dc.w                $AAAA
  3422.         EndM
  3423.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3424.         IMPORT_CFM_FUNCTION GetTrackEditRate
  3425.     ENDIF
  3426.  
  3427.  
  3428. ; *************************
  3429. ;* Miscellaneous Routines
  3430. ;*************************
  3431.  
  3432.  
  3433. ;
  3434. ; pascal long GetMovieDataSize(Movie theMovie, TimeValue startTime, TimeValue duration)
  3435. ;
  3436.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3437.         Macro
  3438.         _GetMovieDataSize
  3439.             move.w              #$0098,D0
  3440.             dc.w                $AAAA
  3441.         EndM
  3442.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3443.         IMPORT_CFM_FUNCTION GetMovieDataSize
  3444.     ENDIF
  3445.  
  3446. ;
  3447. ; pascal long GetTrackDataSize(Track theTrack, TimeValue startTime, TimeValue duration)
  3448. ;
  3449.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3450.         Macro
  3451.         _GetTrackDataSize
  3452.             move.w              #$0149,D0
  3453.             dc.w                $AAAA
  3454.         EndM
  3455.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3456.         IMPORT_CFM_FUNCTION GetTrackDataSize
  3457.     ENDIF
  3458.  
  3459. ;
  3460. ; pascal long GetMediaDataSize(Media theMedia, TimeValue startTime, TimeValue duration)
  3461. ;
  3462.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3463.         Macro
  3464.         _GetMediaDataSize
  3465.             move.w              #$0099,D0
  3466.             dc.w                $AAAA
  3467.         EndM
  3468.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3469.         IMPORT_CFM_FUNCTION GetMediaDataSize
  3470.     ENDIF
  3471.  
  3472. ;
  3473. ; pascal Boolean PtInMovie(Movie theMovie, Point pt)
  3474. ;
  3475.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3476.         Macro
  3477.         _PtInMovie
  3478.             move.w              #$009A,D0
  3479.             dc.w                $AAAA
  3480.         EndM
  3481.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3482.         IMPORT_CFM_FUNCTION PtInMovie
  3483.     ENDIF
  3484.  
  3485. ;
  3486. ; pascal Boolean PtInTrack(Track theTrack, Point pt)
  3487. ;
  3488.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3489.         Macro
  3490.         _PtInTrack
  3491.             move.w              #$009B,D0
  3492.             dc.w                $AAAA
  3493.         EndM
  3494.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3495.         IMPORT_CFM_FUNCTION PtInTrack
  3496.     ENDIF
  3497.  
  3498.  
  3499. ; *************************
  3500. ;* Group Selection Routines
  3501. ;*************************
  3502.  
  3503.  
  3504. ;
  3505. ; pascal void SetMovieLanguage(Movie theMovie, long language)
  3506. ;
  3507.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3508.         Macro
  3509.         _SetMovieLanguage
  3510.             move.w              #$009C,D0
  3511.             dc.w                $AAAA
  3512.         EndM
  3513.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3514.         IMPORT_CFM_FUNCTION SetMovieLanguage
  3515.     ENDIF
  3516.  
  3517.  
  3518. ; *************************
  3519. ;* User Data
  3520. ;*************************
  3521.  
  3522.  
  3523. ;
  3524. ; pascal OSErr GetUserData(UserData theUserData, Handle data, OSType udType, long index)
  3525. ;
  3526.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3527.         Macro
  3528.         _GetUserData
  3529.             move.w              #$009E,D0
  3530.             dc.w                $AAAA
  3531.         EndM
  3532.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3533.         IMPORT_CFM_FUNCTION GetUserData
  3534.     ENDIF
  3535.  
  3536. ;
  3537. ; pascal OSErr AddUserData(UserData theUserData, Handle data, OSType udType)
  3538. ;
  3539.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3540.         Macro
  3541.         _AddUserData
  3542.             move.w              #$009F,D0
  3543.             dc.w                $AAAA
  3544.         EndM
  3545.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3546.         IMPORT_CFM_FUNCTION AddUserData
  3547.     ENDIF
  3548.  
  3549. ;
  3550. ; pascal OSErr RemoveUserData(UserData theUserData, OSType udType, long index)
  3551. ;
  3552.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3553.         Macro
  3554.         _RemoveUserData
  3555.             move.w              #$00A0,D0
  3556.             dc.w                $AAAA
  3557.         EndM
  3558.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3559.         IMPORT_CFM_FUNCTION RemoveUserData
  3560.     ENDIF
  3561.  
  3562. ;
  3563. ; pascal short CountUserDataType(UserData theUserData, OSType udType)
  3564. ;
  3565.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3566.         Macro
  3567.         _CountUserDataType
  3568.             move.w              #$014B,D0
  3569.             dc.w                $AAAA
  3570.         EndM
  3571.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3572.         IMPORT_CFM_FUNCTION CountUserDataType
  3573.     ENDIF
  3574.  
  3575. ;
  3576. ; pascal long GetNextUserDataType(UserData theUserData, OSType udType)
  3577. ;
  3578.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3579.         Macro
  3580.         _GetNextUserDataType
  3581.             move.w              #$01A5,D0
  3582.             dc.w                $AAAA
  3583.         EndM
  3584.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3585.         IMPORT_CFM_FUNCTION GetNextUserDataType
  3586.     ENDIF
  3587.  
  3588. ;
  3589. ; pascal OSErr GetUserDataItem(UserData theUserData, void *data, long size, OSType udType, long index)
  3590. ;
  3591.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3592.         Macro
  3593.         _GetUserDataItem
  3594.             move.w              #$0126,D0
  3595.             dc.w                $AAAA
  3596.         EndM
  3597.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3598.         IMPORT_CFM_FUNCTION GetUserDataItem
  3599.     ENDIF
  3600.  
  3601. ;
  3602. ; pascal OSErr SetUserDataItem(UserData theUserData, void *data, long size, OSType udType, long index)
  3603. ;
  3604.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3605.         Macro
  3606.         _SetUserDataItem
  3607.             move.w              #$012E,D0
  3608.             dc.w                $AAAA
  3609.         EndM
  3610.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3611.         IMPORT_CFM_FUNCTION SetUserDataItem
  3612.     ENDIF
  3613.  
  3614. ;
  3615. ; pascal OSErr AddUserDataText(UserData theUserData, Handle data, OSType udType, long index, short itlRegionTag)
  3616. ;
  3617.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3618.         Macro
  3619.         _AddUserDataText
  3620.             move.w              #$014C,D0
  3621.             dc.w                $AAAA
  3622.         EndM
  3623.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3624.         IMPORT_CFM_FUNCTION AddUserDataText
  3625.     ENDIF
  3626.  
  3627. ;
  3628. ; pascal OSErr GetUserDataText(UserData theUserData, Handle data, OSType udType, long index, short itlRegionTag)
  3629. ;
  3630.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3631.         Macro
  3632.         _GetUserDataText
  3633.             move.w              #$014D,D0
  3634.             dc.w                $AAAA
  3635.         EndM
  3636.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3637.         IMPORT_CFM_FUNCTION GetUserDataText
  3638.     ENDIF
  3639.  
  3640. ;
  3641. ; pascal OSErr RemoveUserDataText(UserData theUserData, OSType udType, long index, short itlRegionTag)
  3642. ;
  3643.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3644.         Macro
  3645.         _RemoveUserDataText
  3646.             move.w              #$014E,D0
  3647.             dc.w                $AAAA
  3648.         EndM
  3649.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3650.         IMPORT_CFM_FUNCTION RemoveUserDataText
  3651.     ENDIF
  3652.  
  3653. ;
  3654. ; pascal OSErr NewUserData(UserData *theUserData)
  3655. ;
  3656.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3657.         Macro
  3658.         _NewUserData
  3659.             move.w              #$012F,D0
  3660.             dc.w                $AAAA
  3661.         EndM
  3662.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3663.         IMPORT_CFM_FUNCTION NewUserData
  3664.     ENDIF
  3665.  
  3666. ;
  3667. ; pascal OSErr DisposeUserData(UserData theUserData)
  3668. ;
  3669.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3670.         Macro
  3671.         _DisposeUserData
  3672.             move.w              #$0130,D0
  3673.             dc.w                $AAAA
  3674.         EndM
  3675.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3676.         IMPORT_CFM_FUNCTION DisposeUserData
  3677.     ENDIF
  3678.  
  3679. ;
  3680. ; pascal OSErr NewUserDataFromHandle(Handle h, UserData *theUserData)
  3681. ;
  3682.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3683.         Macro
  3684.         _NewUserDataFromHandle
  3685.             move.w              #$0131,D0
  3686.             dc.w                $AAAA
  3687.         EndM
  3688.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3689.         IMPORT_CFM_FUNCTION NewUserDataFromHandle
  3690.     ENDIF
  3691.  
  3692. ;
  3693. ; pascal OSErr PutUserDataIntoHandle(UserData theUserData, Handle h)
  3694. ;
  3695.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3696.         Macro
  3697.         _PutUserDataIntoHandle
  3698.             move.w              #$0132,D0
  3699.             dc.w                $AAAA
  3700.         EndM
  3701.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3702.         IMPORT_CFM_FUNCTION PutUserDataIntoHandle
  3703.     ENDIF
  3704.  
  3705. ;
  3706. ; pascal void GetMediaNextInterestingTime(Media theMedia, short interestingTimeFlags, TimeValue time, Fixed rate, TimeValue *interestingTime, TimeValue *interestingDuration)
  3707. ;
  3708.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3709.         Macro
  3710.         _GetMediaNextInterestingTime
  3711.             move.w              #$016D,D0
  3712.             dc.w                $AAAA
  3713.         EndM
  3714.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3715.         IMPORT_CFM_FUNCTION GetMediaNextInterestingTime
  3716.     ENDIF
  3717.  
  3718. ;
  3719. ; pascal void GetTrackNextInterestingTime(Track theTrack, short interestingTimeFlags, TimeValue time, Fixed rate, TimeValue *interestingTime, TimeValue *interestingDuration)
  3720. ;
  3721.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3722.         Macro
  3723.         _GetTrackNextInterestingTime
  3724.             move.w              #$00E2,D0
  3725.             dc.w                $AAAA
  3726.         EndM
  3727.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3728.         IMPORT_CFM_FUNCTION GetTrackNextInterestingTime
  3729.     ENDIF
  3730.  
  3731. ;
  3732. ; pascal void GetMovieNextInterestingTime(Movie theMovie, short interestingTimeFlags, short numMediaTypes, const OSType *whichMediaTypes, TimeValue time, Fixed rate, TimeValue *interestingTime, TimeValue *interestingDuration)
  3733. ;
  3734.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3735.         Macro
  3736.         _GetMovieNextInterestingTime
  3737.             move.w              #$010E,D0
  3738.             dc.w                $AAAA
  3739.         EndM
  3740.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3741.         IMPORT_CFM_FUNCTION GetMovieNextInterestingTime
  3742.     ENDIF
  3743.  
  3744.  
  3745. ;
  3746. ; pascal OSErr CreateMovieFile(const FSSpec *fileSpec, OSType creator, ScriptCode scriptTag, long createMovieFileFlags, short *resRefNum, Movie *newmovie)
  3747. ;
  3748.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3749.         Macro
  3750.         _CreateMovieFile
  3751.             move.w              #$0191,D0
  3752.             dc.w                $AAAA
  3753.         EndM
  3754.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3755.         IMPORT_CFM_FUNCTION CreateMovieFile
  3756.     ENDIF
  3757.  
  3758. ;
  3759. ; pascal OSErr OpenMovieFile(const FSSpec *fileSpec, short *resRefNum, SInt8 permission)
  3760. ;
  3761.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3762.         Macro
  3763.         _OpenMovieFile
  3764.             move.w              #$0192,D0
  3765.             dc.w                $AAAA
  3766.         EndM
  3767.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3768.         IMPORT_CFM_FUNCTION OpenMovieFile
  3769.     ENDIF
  3770.  
  3771. ;
  3772. ; pascal OSErr CloseMovieFile(short resRefNum)
  3773. ;
  3774.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3775.         Macro
  3776.         _CloseMovieFile
  3777.             move.w              #$00D5,D0
  3778.             dc.w                $AAAA
  3779.         EndM
  3780.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3781.         IMPORT_CFM_FUNCTION CloseMovieFile
  3782.     ENDIF
  3783.  
  3784. ;
  3785. ; pascal OSErr DeleteMovieFile(const FSSpec *fileSpec)
  3786. ;
  3787.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3788.         Macro
  3789.         _DeleteMovieFile
  3790.             move.w              #$0175,D0
  3791.             dc.w                $AAAA
  3792.         EndM
  3793.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3794.         IMPORT_CFM_FUNCTION DeleteMovieFile
  3795.     ENDIF
  3796.  
  3797. ;
  3798. ; pascal OSErr NewMovieFromFile(Movie *theMovie, short resRefNum, short *resId, StringPtr resName, short newMovieFlags, Boolean *dataRefWasChanged)
  3799. ;
  3800.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3801.         Macro
  3802.         _NewMovieFromFile
  3803.             move.w              #$00F0,D0
  3804.             dc.w                $AAAA
  3805.         EndM
  3806.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3807.         IMPORT_CFM_FUNCTION NewMovieFromFile
  3808.     ENDIF
  3809.  
  3810. ;
  3811. ; pascal OSErr NewMovieFromHandle(Movie *theMovie, Handle h, short newMovieFlags, Boolean *dataRefWasChanged)
  3812. ;
  3813.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3814.         Macro
  3815.         _NewMovieFromHandle
  3816.             move.w              #$00F1,D0
  3817.             dc.w                $AAAA
  3818.         EndM
  3819.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3820.         IMPORT_CFM_FUNCTION NewMovieFromHandle
  3821.     ENDIF
  3822.  
  3823. ;
  3824. ; pascal OSErr NewMovieFromDataFork(Movie *theMovie, short fRefNum, long fileOffset, short newMovieFlags, Boolean *dataRefWasChanged)
  3825. ;
  3826.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3827.         Macro
  3828.         _NewMovieFromDataFork
  3829.             move.w              #$01B3,D0
  3830.             dc.w                $AAAA
  3831.         EndM
  3832.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3833.         IMPORT_CFM_FUNCTION NewMovieFromDataFork
  3834.     ENDIF
  3835.  
  3836. ;
  3837. ; pascal OSErr NewMovieFromUserProc(Movie *m, short flags, Boolean *dataRefWasChanged, GetMovieUPP getProc, void *refCon, Handle defaultDataRef, OSType dataRefType)
  3838. ;
  3839.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3840.         Macro
  3841.         _NewMovieFromUserProc
  3842.             move.w              #$01EC,D0
  3843.             dc.w                $AAAA
  3844.         EndM
  3845.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3846.         IMPORT_CFM_FUNCTION NewMovieFromUserProc
  3847.     ENDIF
  3848.  
  3849. ;
  3850. ; pascal OSErr NewMovieFromDataRef(Movie *m, short flags, short *id, Handle dataRef, OSType dataRefType)
  3851. ;
  3852.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3853.         Macro
  3854.         _NewMovieFromDataRef
  3855.             move.w              #$0220,D0
  3856.             dc.w                $AAAA
  3857.         EndM
  3858.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3859.         IMPORT_CFM_FUNCTION NewMovieFromDataRef
  3860.     ENDIF
  3861.  
  3862. ;
  3863. ; pascal OSErr AddMovieResource(Movie theMovie, short resRefNum, short *resId, ConstStr255Param resName)
  3864. ;
  3865.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3866.         Macro
  3867.         _AddMovieResource
  3868.             move.w              #$00D7,D0
  3869.             dc.w                $AAAA
  3870.         EndM
  3871.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3872.         IMPORT_CFM_FUNCTION AddMovieResource
  3873.     ENDIF
  3874.  
  3875. ;
  3876. ; pascal OSErr UpdateMovieResource(Movie theMovie, short resRefNum, short resId, ConstStr255Param resName)
  3877. ;
  3878.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3879.         Macro
  3880.         _UpdateMovieResource
  3881.             move.w              #$00D8,D0
  3882.             dc.w                $AAAA
  3883.         EndM
  3884.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3885.         IMPORT_CFM_FUNCTION UpdateMovieResource
  3886.     ENDIF
  3887.  
  3888. ;
  3889. ; pascal OSErr RemoveMovieResource(short resRefNum, short resId)
  3890. ;
  3891.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3892.         Macro
  3893.         _RemoveMovieResource
  3894.             move.w              #$0176,D0
  3895.             dc.w                $AAAA
  3896.         EndM
  3897.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3898.         IMPORT_CFM_FUNCTION RemoveMovieResource
  3899.     ENDIF
  3900.  
  3901. ;
  3902. ; pascal Boolean HasMovieChanged(Movie theMovie)
  3903. ;
  3904.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3905.         Macro
  3906.         _HasMovieChanged
  3907.             move.w              #$00D9,D0
  3908.             dc.w                $AAAA
  3909.         EndM
  3910.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3911.         IMPORT_CFM_FUNCTION HasMovieChanged
  3912.     ENDIF
  3913.  
  3914. ;
  3915. ; pascal void ClearMovieChanged(Movie theMovie)
  3916. ;
  3917.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3918.         Macro
  3919.         _ClearMovieChanged
  3920.             move.w              #$0113,D0
  3921.             dc.w                $AAAA
  3922.         EndM
  3923.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3924.         IMPORT_CFM_FUNCTION ClearMovieChanged
  3925.     ENDIF
  3926.  
  3927. ;
  3928. ; pascal OSErr SetMovieDefaultDataRef(Movie theMovie, Handle dataRef, OSType dataRefType)
  3929. ;
  3930.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3931.         Macro
  3932.         _SetMovieDefaultDataRef
  3933.             move.w              #$01C1,D0
  3934.             dc.w                $AAAA
  3935.         EndM
  3936.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3937.         IMPORT_CFM_FUNCTION SetMovieDefaultDataRef
  3938.     ENDIF
  3939.  
  3940. ;
  3941. ; pascal OSErr GetMovieDefaultDataRef(Movie theMovie, Handle *dataRef, OSType *dataRefType)
  3942. ;
  3943.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3944.         Macro
  3945.         _GetMovieDefaultDataRef
  3946.             move.w              #$01D2,D0
  3947.             dc.w                $AAAA
  3948.         EndM
  3949.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3950.         IMPORT_CFM_FUNCTION GetMovieDefaultDataRef
  3951.     ENDIF
  3952.  
  3953. ;
  3954. ; pascal OSErr SetMovieColorTable(Movie theMovie, CTabHandle ctab)
  3955. ;
  3956.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3957.         Macro
  3958.         _SetMovieColorTable
  3959.             move.w              #$0205,D0
  3960.             dc.w                $AAAA
  3961.         EndM
  3962.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3963.         IMPORT_CFM_FUNCTION SetMovieColorTable
  3964.     ENDIF
  3965.  
  3966. ;
  3967. ; pascal OSErr GetMovieColorTable(Movie theMovie, CTabHandle *ctab)
  3968. ;
  3969.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3970.         Macro
  3971.         _GetMovieColorTable
  3972.             move.w              #$0206,D0
  3973.             dc.w                $AAAA
  3974.         EndM
  3975.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3976.         IMPORT_CFM_FUNCTION GetMovieColorTable
  3977.     ENDIF
  3978.  
  3979. ;
  3980. ; pascal void FlattenMovie(Movie theMovie, long movieFlattenFlags, const FSSpec *theFile, OSType creator, ScriptCode scriptTag, long createMovieFileFlags, short *resId, ConstStr255Param resName)
  3981. ;
  3982.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3983.         Macro
  3984.         _FlattenMovie
  3985.             move.w              #$019B,D0
  3986.             dc.w                $AAAA
  3987.         EndM
  3988.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  3989.         IMPORT_CFM_FUNCTION FlattenMovie
  3990.     ENDIF
  3991.  
  3992. ;
  3993. ; pascal Movie FlattenMovieData(Movie theMovie, long movieFlattenFlags, const FSSpec *theFile, OSType creator, ScriptCode scriptTag, long createMovieFileFlags)
  3994. ;
  3995.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  3996.         Macro
  3997.         _FlattenMovieData
  3998.             move.w              #$019C,D0
  3999.             dc.w                $AAAA
  4000.         EndM
  4001.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4002.         IMPORT_CFM_FUNCTION FlattenMovieData
  4003.     ENDIF
  4004.  
  4005. ;
  4006. ; pascal void SetMovieProgressProc(Movie theMovie, MovieProgressUPP p, long refcon)
  4007. ;
  4008.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4009.         Macro
  4010.         _SetMovieProgressProc
  4011.             move.w              #$019A,D0
  4012.             dc.w                $AAAA
  4013.         EndM
  4014.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4015.         IMPORT_CFM_FUNCTION SetMovieProgressProc
  4016.     ENDIF
  4017.  
  4018. ;
  4019. ; pascal OSErr MovieSearchText(Movie theMovie, Ptr text, long size, long searchFlags, Track *searchTrack, TimeValue *searchTime, long *searchOffset)
  4020. ;
  4021.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4022.         Macro
  4023.         _MovieSearchText
  4024.             move.w              #$0207,D0
  4025.             dc.w                $AAAA
  4026.         EndM
  4027.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4028.         IMPORT_CFM_FUNCTION MovieSearchText
  4029.     ENDIF
  4030.  
  4031. ;
  4032. ; pascal void GetPosterBox(Movie theMovie, Rect *boxRect)
  4033. ;
  4034.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4035.         Macro
  4036.         _GetPosterBox
  4037.             move.w              #$016F,D0
  4038.             dc.w                $AAAA
  4039.         EndM
  4040.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4041.         IMPORT_CFM_FUNCTION GetPosterBox
  4042.     ENDIF
  4043.  
  4044. ;
  4045. ; pascal void SetPosterBox(Movie theMovie, const Rect *boxRect)
  4046. ;
  4047.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4048.         Macro
  4049.         _SetPosterBox
  4050.             move.w              #$0170,D0
  4051.             dc.w                $AAAA
  4052.         EndM
  4053.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4054.         IMPORT_CFM_FUNCTION SetPosterBox
  4055.     ENDIF
  4056.  
  4057. ;
  4058. ; pascal RgnHandle GetMovieSegmentDisplayBoundsRgn(Movie theMovie, TimeValue time, TimeValue duration)
  4059. ;
  4060.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4061.         Macro
  4062.         _GetMovieSegmentDisplayBoundsRgn
  4063.             move.w              #$016C,D0
  4064.             dc.w                $AAAA
  4065.         EndM
  4066.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4067.         IMPORT_CFM_FUNCTION GetMovieSegmentDisplayBoundsRgn
  4068.     ENDIF
  4069.  
  4070. ;
  4071. ; pascal RgnHandle GetTrackSegmentDisplayBoundsRgn(Track theTrack, TimeValue time, TimeValue duration)
  4072. ;
  4073.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4074.         Macro
  4075.         _GetTrackSegmentDisplayBoundsRgn
  4076.             move.w              #$016B,D0
  4077.             dc.w                $AAAA
  4078.         EndM
  4079.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4080.         IMPORT_CFM_FUNCTION GetTrackSegmentDisplayBoundsRgn
  4081.     ENDIF
  4082.  
  4083. ;
  4084. ; pascal void SetMovieCoverProcs(Movie theMovie, MovieRgnCoverUPP uncoverProc, MovieRgnCoverUPP coverProc, long refcon)
  4085. ;
  4086.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4087.         Macro
  4088.         _SetMovieCoverProcs
  4089.             move.w              #$0179,D0
  4090.             dc.w                $AAAA
  4091.         EndM
  4092.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4093.         IMPORT_CFM_FUNCTION SetMovieCoverProcs
  4094.     ENDIF
  4095.  
  4096. ;
  4097. ; pascal OSErr GetMovieCoverProcs(Movie theMovie, MovieRgnCoverUPP *uncoverProc, MovieRgnCoverUPP *coverProc, long *refcon)
  4098. ;
  4099.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4100.         Macro
  4101.         _GetMovieCoverProcs
  4102.             move.w              #$01DD,D0
  4103.             dc.w                $AAAA
  4104.         EndM
  4105.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4106.         IMPORT_CFM_FUNCTION GetMovieCoverProcs
  4107.     ENDIF
  4108.  
  4109. ;
  4110. ; pascal ComponentResult GetTrackStatus(Track theTrack)
  4111. ;
  4112.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4113.         Macro
  4114.         _GetTrackStatus
  4115.             move.w              #$0172,D0
  4116.             dc.w                $AAAA
  4117.         EndM
  4118.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4119.         IMPORT_CFM_FUNCTION GetTrackStatus
  4120.     ENDIF
  4121.  
  4122. ;
  4123. ; pascal ComponentResult GetMovieStatus(Movie theMovie, Track *firstProblemTrack)
  4124. ;
  4125.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4126.         Macro
  4127.         _GetMovieStatus
  4128.             move.w              #$0173,D0
  4129.             dc.w                $AAAA
  4130.         EndM
  4131.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4132.         IMPORT_CFM_FUNCTION GetMovieStatus
  4133.     ENDIF
  4134.  
  4135. ; ***
  4136. ;    Movie Controller support routines
  4137. ;***
  4138.  
  4139. ;
  4140. ; pascal ComponentInstance NewMovieController(Movie theMovie, const Rect *movieRect, long someFlags)
  4141. ;
  4142.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4143.         Macro
  4144.         _NewMovieController
  4145.             move.w              #$018A,D0
  4146.             dc.w                $AAAA
  4147.         EndM
  4148.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4149.         IMPORT_CFM_FUNCTION NewMovieController
  4150.     ENDIF
  4151.  
  4152. ;
  4153. ; pascal void DisposeMovieController(ComponentInstance mc)
  4154. ;
  4155.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4156.         Macro
  4157.         _DisposeMovieController
  4158.             move.w              #$018B,D0
  4159.             dc.w                $AAAA
  4160.         EndM
  4161.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4162.         IMPORT_CFM_FUNCTION DisposeMovieController
  4163.     ENDIF
  4164.  
  4165. ;
  4166. ; pascal void ShowMovieInformation(Movie theMovie, ModalFilterUPP filterProc, long refCon)
  4167. ;
  4168.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4169.         Macro
  4170.         _ShowMovieInformation
  4171.             move.w              #$0209,D0
  4172.             dc.w                $AAAA
  4173.         EndM
  4174.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4175.         IMPORT_CFM_FUNCTION ShowMovieInformation
  4176.     ENDIF
  4177.  
  4178.  
  4179. ; *****
  4180. ;    Scrap routines
  4181. ;****
  4182.  
  4183. ;
  4184. ; pascal OSErr PutMovieOnScrap(Movie theMovie, long movieScrapFlags)
  4185. ;
  4186.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4187.         Macro
  4188.         _PutMovieOnScrap
  4189.             move.w              #$018C,D0
  4190.             dc.w                $AAAA
  4191.         EndM
  4192.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4193.         IMPORT_CFM_FUNCTION PutMovieOnScrap
  4194.     ENDIF
  4195.  
  4196. ;
  4197. ; pascal Movie NewMovieFromScrap(long newMovieFlags)
  4198. ;
  4199.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4200.         Macro
  4201.         _NewMovieFromScrap
  4202.             move.w              #$018D,D0
  4203.             dc.w                $AAAA
  4204.         EndM
  4205.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4206.         IMPORT_CFM_FUNCTION NewMovieFromScrap
  4207.     ENDIF
  4208.  
  4209.  
  4210. ; *****
  4211. ;    DataRef routines
  4212. ;****
  4213.  
  4214.  
  4215. ;
  4216. ; pascal OSErr GetMediaDataRef(Media theMedia, short index, Handle *dataRef, OSType *dataRefType, long *dataRefAttributes)
  4217. ;
  4218.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4219.         Macro
  4220.         _GetMediaDataRef
  4221.             move.w              #$0197,D0
  4222.             dc.w                $AAAA
  4223.         EndM
  4224.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4225.         IMPORT_CFM_FUNCTION GetMediaDataRef
  4226.     ENDIF
  4227.  
  4228. ;
  4229. ; pascal OSErr SetMediaDataRef(Media theMedia, short index, Handle dataRef, OSType dataRefType)
  4230. ;
  4231.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4232.         Macro
  4233.         _SetMediaDataRef
  4234.             move.w              #$01C9,D0
  4235.             dc.w                $AAAA
  4236.         EndM
  4237.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4238.         IMPORT_CFM_FUNCTION SetMediaDataRef
  4239.     ENDIF
  4240.  
  4241. ;
  4242. ; pascal OSErr SetMediaDataRefAttributes(Media theMedia, short index, long dataRefAttributes)
  4243. ;
  4244.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4245.         Macro
  4246.         _SetMediaDataRefAttributes
  4247.             move.w              #$01CA,D0
  4248.             dc.w                $AAAA
  4249.         EndM
  4250.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4251.         IMPORT_CFM_FUNCTION SetMediaDataRefAttributes
  4252.     ENDIF
  4253.  
  4254. ;
  4255. ; pascal OSErr AddMediaDataRef(Media theMedia, short *index, Handle dataRef, OSType dataRefType)
  4256. ;
  4257.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4258.         Macro
  4259.         _AddMediaDataRef
  4260.             move.w              #$0198,D0
  4261.             dc.w                $AAAA
  4262.         EndM
  4263.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4264.         IMPORT_CFM_FUNCTION AddMediaDataRef
  4265.     ENDIF
  4266.  
  4267. ;
  4268. ; pascal OSErr GetMediaDataRefCount(Media theMedia, short *count)
  4269. ;
  4270.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4271.         Macro
  4272.         _GetMediaDataRefCount
  4273.             move.w              #$0199,D0
  4274.             dc.w                $AAAA
  4275.         EndM
  4276.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4277.         IMPORT_CFM_FUNCTION GetMediaDataRefCount
  4278.     ENDIF
  4279.  
  4280. ;
  4281. ; pascal OSErr QTNewAlias(const FSSpec *fss, AliasHandle *alias, Boolean minimal)
  4282. ;
  4283.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4284.         Macro
  4285.         _QTNewAlias
  4286.             move.w              #$0201,D0
  4287.             dc.w                $AAAA
  4288.         EndM
  4289.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4290.         IMPORT_CFM_FUNCTION QTNewAlias
  4291.     ENDIF
  4292.  
  4293. ; *****
  4294. ;    Playback hint routines
  4295. ;****
  4296.  
  4297. ;
  4298. ; pascal void SetMoviePlayHints(Movie theMovie, long flags, long flagsMask)
  4299. ;
  4300.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4301.         Macro
  4302.         _SetMoviePlayHints
  4303.             move.w              #$01A1,D0
  4304.             dc.w                $AAAA
  4305.         EndM
  4306.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4307.         IMPORT_CFM_FUNCTION SetMoviePlayHints
  4308.     ENDIF
  4309.  
  4310. ;
  4311. ; pascal void SetMediaPlayHints(Media theMedia, long flags, long flagsMask)
  4312. ;
  4313.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4314.         Macro
  4315.         _SetMediaPlayHints
  4316.             move.w              #$01A2,D0
  4317.             dc.w                $AAAA
  4318.         EndM
  4319.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4320.         IMPORT_CFM_FUNCTION SetMediaPlayHints
  4321.     ENDIF
  4322.  
  4323. ;
  4324. ; pascal void GetMediaPlayHints(Media theMedia, long *flags)
  4325. ;
  4326.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4327.         Macro
  4328.         _GetMediaPlayHints
  4329.             move.w              #$02CE,D0
  4330.             dc.w                $AAAA
  4331.         EndM
  4332.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4333.         IMPORT_CFM_FUNCTION GetMediaPlayHints
  4334.     ENDIF
  4335.  
  4336. ; *****
  4337. ;    Load time track hints
  4338. ;****
  4339.  
  4340.  
  4341. preloadAlways                    EQU        $00000001
  4342. preloadOnlyIfEnabled            EQU        $00000002
  4343. ;
  4344. ; pascal void SetTrackLoadSettings(Track theTrack, TimeValue preloadTime, TimeValue preloadDuration, long preloadFlags, long defaultHints)
  4345. ;
  4346.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4347.         Macro
  4348.         _SetTrackLoadSettings
  4349.             move.w              #$01E3,D0
  4350.             dc.w                $AAAA
  4351.         EndM
  4352.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4353.         IMPORT_CFM_FUNCTION SetTrackLoadSettings
  4354.     ENDIF
  4355.  
  4356. ;
  4357. ; pascal void GetTrackLoadSettings(Track theTrack, TimeValue *preloadTime, TimeValue *preloadDuration, long *preloadFlags, long *defaultHints)
  4358. ;
  4359.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4360.         Macro
  4361.         _GetTrackLoadSettings
  4362.             move.w              #$01E4,D0
  4363.             dc.w                $AAAA
  4364.         EndM
  4365.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4366.         IMPORT_CFM_FUNCTION GetTrackLoadSettings
  4367.     ENDIF
  4368.  
  4369. ; *****
  4370. ;    Big screen TV
  4371. ;****
  4372.  
  4373.  
  4374. fullScreenHideCursor            EQU        $00000001
  4375. fullScreenAllowEvents            EQU        $00000002
  4376. fullScreenDontChangeMenuBar        EQU        $00000004
  4377. fullScreenPreflightSize            EQU        $00000008
  4378. ;
  4379. ; pascal OSErr BeginFullScreen(Ptr *restoreState, GDHandle whichGD, short *desiredWidth, short *desiredHeight, WindowPtr *newWindow, RGBColor *eraseColor, long flags)
  4380. ;
  4381.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4382.         Macro
  4383.         _BeginFullScreen
  4384.             move.w              #$0233,D0
  4385.             dc.w                $AAAA
  4386.         EndM
  4387.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4388.         IMPORT_CFM_FUNCTION BeginFullScreen
  4389.     ENDIF
  4390.  
  4391. ;
  4392. ; pascal OSErr EndFullScreen(Ptr fullState, long flags)
  4393. ;
  4394.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4395.         Macro
  4396.         _EndFullScreen
  4397.             move.w              #$0234,D0
  4398.             dc.w                $AAAA
  4399.         EndM
  4400.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4401.         IMPORT_CFM_FUNCTION EndFullScreen
  4402.     ENDIF
  4403.  
  4404. ; *****
  4405. ;    Sprite Toolbox
  4406. ;****
  4407.  
  4408.  
  4409. kBackgroundSpriteLayerNum        EQU        32767
  4410. ;   Sprite Properties
  4411.  
  4412. kSpritePropertyMatrix            EQU        1
  4413. kSpritePropertyImageDescription    EQU        2
  4414. kSpritePropertyImageDataPtr        EQU        3
  4415. kSpritePropertyVisible            EQU        4
  4416. kSpritePropertyLayer            EQU        5
  4417. kSpritePropertyGraphicsMode        EQU        6
  4418. kSpritePropertyImageDataSize    EQU        7
  4419. kSpritePropertyImageIndex        EQU        100
  4420. kSpriteTrackPropertyBackgroundColor EQU    101
  4421. kSpriteTrackPropertyOffscreenBitDepth EQU 102
  4422. kSpriteTrackPropertySampleFormat EQU    103
  4423. kSpriteTrackPropertyScaleSpritesToScaleWorld EQU 104
  4424. kSpriteTrackPropertyHasActions    EQU        105
  4425. kSpriteTrackPropertyVisible        EQU        106
  4426. kSpriteTrackPropertyQTIdleEventsFrequency EQU 107
  4427. kSpriteImagePropertyRegistrationPoint EQU 1000
  4428. kSpriteImagePropertyGroupID        EQU        1001
  4429. ;  special value for kSpriteTrackPropertyQTIdleEventsFrequency (the default)
  4430.  
  4431. kNoQTIdleEvents                    EQU        -1
  4432. ;  flagsIn for SpriteWorldIdle
  4433.  
  4434. kOnlyDrawToSpriteWorld            EQU        $00000001
  4435. kSpriteWorldPreflight            EQU        $00000002
  4436. ;  flagsOut for SpriteWorldIdle
  4437.  
  4438. kSpriteWorldDidDraw                EQU        $00000001
  4439. kSpriteWorldNeedsToDraw            EQU        $00000002
  4440. ;  flags for sprite track sample format
  4441.  
  4442. kKeyFrameAndSingleOverride        EQU        $00000002
  4443. kKeyFrameAndAllOverrides        EQU        $00000004
  4444. ;  sprite world flags
  4445.  
  4446. kScaleSpritesToScaleWorld        EQU        $00000002
  4447. kSpriteWorldHighQuality            EQU        $00000004
  4448. kSpriteWorldDontAutoInvalidate    EQU        $00000008
  4449. kSpriteWorldInvisible            EQU        $00000010
  4450. ;
  4451. ; pascal OSErr NewSpriteWorld(SpriteWorld *newSpriteWorld, GWorldPtr destination, GWorldPtr spriteLayer, RGBColor *backgroundColor, GWorldPtr background)
  4452. ;
  4453.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4454.         Macro
  4455.         _NewSpriteWorld
  4456.             move.w              #$0239,D0
  4457.             dc.w                $AAAA
  4458.         EndM
  4459.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4460.         IMPORT_CFM_FUNCTION NewSpriteWorld
  4461.     ENDIF
  4462.  
  4463. ;
  4464. ; pascal void DisposeSpriteWorld(SpriteWorld theSpriteWorld)
  4465. ;
  4466.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4467.         Macro
  4468.         _DisposeSpriteWorld
  4469.             move.w              #$023A,D0
  4470.             dc.w                $AAAA
  4471.         EndM
  4472.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4473.         IMPORT_CFM_FUNCTION DisposeSpriteWorld
  4474.     ENDIF
  4475.  
  4476. ;
  4477. ; pascal OSErr SetSpriteWorldClip(SpriteWorld theSpriteWorld, RgnHandle clipRgn)
  4478. ;
  4479.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4480.         Macro
  4481.         _SetSpriteWorldClip
  4482.             move.w              #$023B,D0
  4483.             dc.w                $AAAA
  4484.         EndM
  4485.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4486.         IMPORT_CFM_FUNCTION SetSpriteWorldClip
  4487.     ENDIF
  4488.  
  4489. ;
  4490. ; pascal OSErr SetSpriteWorldMatrix(SpriteWorld theSpriteWorld, const MatrixRecord *matrix)
  4491. ;
  4492.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4493.         Macro
  4494.         _SetSpriteWorldMatrix
  4495.             move.w              #$023C,D0
  4496.             dc.w                $AAAA
  4497.         EndM
  4498.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4499.         IMPORT_CFM_FUNCTION SetSpriteWorldMatrix
  4500.     ENDIF
  4501.  
  4502. ;
  4503. ; pascal OSErr SetSpriteWorldGraphicsMode(SpriteWorld theSpriteWorld, long mode, const RGBColor *opColor)
  4504. ;
  4505.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4506.         Macro
  4507.         _SetSpriteWorldGraphicsMode
  4508.             move.w              #$02D9,D0
  4509.             dc.w                $AAAA
  4510.         EndM
  4511.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4512.         IMPORT_CFM_FUNCTION SetSpriteWorldGraphicsMode
  4513.     ENDIF
  4514.  
  4515. ;
  4516. ; pascal OSErr SpriteWorldIdle(SpriteWorld theSpriteWorld, long flagsIn, long *flagsOut)
  4517. ;
  4518.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4519.         Macro
  4520.         _SpriteWorldIdle
  4521.             move.w              #$023D,D0
  4522.             dc.w                $AAAA
  4523.         EndM
  4524.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4525.         IMPORT_CFM_FUNCTION SpriteWorldIdle
  4526.     ENDIF
  4527.  
  4528. ;
  4529. ; pascal OSErr InvalidateSpriteWorld(SpriteWorld theSpriteWorld, Rect *invalidArea)
  4530. ;
  4531.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4532.         Macro
  4533.         _InvalidateSpriteWorld
  4534.             move.w              #$023E,D0
  4535.             dc.w                $AAAA
  4536.         EndM
  4537.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4538.         IMPORT_CFM_FUNCTION InvalidateSpriteWorld
  4539.     ENDIF
  4540.  
  4541. ;
  4542. ; pascal OSErr SpriteWorldHitTest(SpriteWorld theSpriteWorld, long flags, Point loc, Sprite *spriteHit)
  4543. ;
  4544.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4545.         Macro
  4546.         _SpriteWorldHitTest
  4547.             move.w              #$0246,D0
  4548.             dc.w                $AAAA
  4549.         EndM
  4550.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4551.         IMPORT_CFM_FUNCTION SpriteWorldHitTest
  4552.     ENDIF
  4553.  
  4554. ;
  4555. ; pascal OSErr SpriteHitTest(Sprite theSprite, long flags, Point loc, Boolean *wasHit)
  4556. ;
  4557.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4558.         Macro
  4559.         _SpriteHitTest
  4560.             move.w              #$0247,D0
  4561.             dc.w                $AAAA
  4562.         EndM
  4563.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4564.         IMPORT_CFM_FUNCTION SpriteHitTest
  4565.     ENDIF
  4566.  
  4567. ;
  4568. ; pascal void DisposeAllSprites(SpriteWorld theSpriteWorld)
  4569. ;
  4570.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4571.         Macro
  4572.         _DisposeAllSprites
  4573.             move.w              #$023F,D0
  4574.             dc.w                $AAAA
  4575.         EndM
  4576.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4577.         IMPORT_CFM_FUNCTION DisposeAllSprites
  4578.     ENDIF
  4579.  
  4580. ;
  4581. ; pascal OSErr SetSpriteWorldFlags(SpriteWorld spriteWorld, long flags, long flagsMask)
  4582. ;
  4583.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4584.         Macro
  4585.         _SetSpriteWorldFlags
  4586.             move.w              #$02C2,D0
  4587.             dc.w                $AAAA
  4588.         EndM
  4589.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4590.         IMPORT_CFM_FUNCTION SetSpriteWorldFlags
  4591.     ENDIF
  4592.  
  4593. ;
  4594. ; pascal OSErr NewSprite(Sprite *newSprite, SpriteWorld itsSpriteWorld, ImageDescriptionHandle idh, Ptr imageDataPtr, MatrixRecord *matrix, Boolean visible, short layer)
  4595. ;
  4596.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4597.         Macro
  4598.         _NewSprite
  4599.             move.w              #$0240,D0
  4600.             dc.w                $AAAA
  4601.         EndM
  4602.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4603.         IMPORT_CFM_FUNCTION NewSprite
  4604.     ENDIF
  4605.  
  4606. ;
  4607. ; pascal void DisposeSprite(Sprite theSprite)
  4608. ;
  4609.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4610.         Macro
  4611.         _DisposeSprite
  4612.             move.w              #$0241,D0
  4613.             dc.w                $AAAA
  4614.         EndM
  4615.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4616.         IMPORT_CFM_FUNCTION DisposeSprite
  4617.     ENDIF
  4618.  
  4619. ;
  4620. ; pascal void InvalidateSprite(Sprite theSprite)
  4621. ;
  4622.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4623.         Macro
  4624.         _InvalidateSprite
  4625.             move.w              #$0242,D0
  4626.             dc.w                $AAAA
  4627.         EndM
  4628.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4629.         IMPORT_CFM_FUNCTION InvalidateSprite
  4630.     ENDIF
  4631.  
  4632. ;
  4633. ; pascal OSErr SetSpriteProperty(Sprite theSprite, long propertyType, void *propertyValue)
  4634. ;
  4635.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4636.         Macro
  4637.         _SetSpriteProperty
  4638.             move.w              #$0243,D0
  4639.             dc.w                $AAAA
  4640.         EndM
  4641.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4642.         IMPORT_CFM_FUNCTION SetSpriteProperty
  4643.     ENDIF
  4644.  
  4645. ;
  4646. ; pascal OSErr GetSpriteProperty(Sprite theSprite, long propertyType, void *propertyValue)
  4647. ;
  4648.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4649.         Macro
  4650.         _GetSpriteProperty
  4651.             move.w              #$0244,D0
  4652.             dc.w                $AAAA
  4653.         EndM
  4654.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4655.         IMPORT_CFM_FUNCTION GetSpriteProperty
  4656.     ENDIF
  4657.  
  4658. ; *****
  4659. ;    QT Atom Data Support
  4660. ;****
  4661.  
  4662.  
  4663. kParentAtomIsContainer            EQU        0
  4664. ;  create and dispose QTAtomContainer objects
  4665.  
  4666. ;
  4667. ; pascal OSErr QTNewAtomContainer(QTAtomContainer *atomData)
  4668. ;
  4669.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4670.         Macro
  4671.         _QTNewAtomContainer
  4672.             move.w              #$020C,D0
  4673.             dc.w                $AAAA
  4674.         EndM
  4675.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4676.         IMPORT_CFM_FUNCTION QTNewAtomContainer
  4677.     ENDIF
  4678.  
  4679. ;
  4680. ; pascal OSErr QTDisposeAtomContainer(QTAtomContainer atomData)
  4681. ;
  4682.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4683.         Macro
  4684.         _QTDisposeAtomContainer
  4685.             move.w              #$020D,D0
  4686.             dc.w                $AAAA
  4687.         EndM
  4688.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4689.         IMPORT_CFM_FUNCTION QTDisposeAtomContainer
  4690.     ENDIF
  4691.  
  4692. ;  locating nested atoms within QTAtomContainer container
  4693. ;
  4694. ; pascal QTAtomType QTGetNextChildType(QTAtomContainer container, QTAtom parentAtom, QTAtomType currentChildType)
  4695. ;
  4696.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4697.         Macro
  4698.         _QTGetNextChildType
  4699.             move.w              #$020E,D0
  4700.             dc.w                $AAAA
  4701.         EndM
  4702.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4703.         IMPORT_CFM_FUNCTION QTGetNextChildType
  4704.     ENDIF
  4705.  
  4706. ;
  4707. ; pascal short QTCountChildrenOfType(QTAtomContainer container, QTAtom parentAtom, QTAtomType childType)
  4708. ;
  4709.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4710.         Macro
  4711.         _QTCountChildrenOfType
  4712.             move.w              #$020F,D0
  4713.             dc.w                $AAAA
  4714.         EndM
  4715.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4716.         IMPORT_CFM_FUNCTION QTCountChildrenOfType
  4717.     ENDIF
  4718.  
  4719. ;
  4720. ; pascal QTAtom QTFindChildByIndex(QTAtomContainer container, QTAtom parentAtom, QTAtomType atomType, short index, QTAtomID *id)
  4721. ;
  4722.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4723.         Macro
  4724.         _QTFindChildByIndex
  4725.             move.w              #$0210,D0
  4726.             dc.w                $AAAA
  4727.         EndM
  4728.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4729.         IMPORT_CFM_FUNCTION QTFindChildByIndex
  4730.     ENDIF
  4731.  
  4732. ;
  4733. ; pascal QTAtom QTFindChildByID(QTAtomContainer container, QTAtom parentAtom, QTAtomType atomType, QTAtomID id, short *index)
  4734. ;
  4735.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4736.         Macro
  4737.         _QTFindChildByID
  4738.             move.w              #$021D,D0
  4739.             dc.w                $AAAA
  4740.         EndM
  4741.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4742.         IMPORT_CFM_FUNCTION QTFindChildByID
  4743.     ENDIF
  4744.  
  4745. ;
  4746. ; pascal OSErr QTNextChildAnyType(QTAtomContainer container, QTAtom parentAtom, QTAtom currentChild, QTAtom *nextChild)
  4747. ;
  4748.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4749.         Macro
  4750.         _QTNextChildAnyType
  4751.             move.w              #$0200,D0
  4752.             dc.w                $AAAA
  4753.         EndM
  4754.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4755.         IMPORT_CFM_FUNCTION QTNextChildAnyType
  4756.     ENDIF
  4757.  
  4758. ;  set a leaf atom's data
  4759. ;
  4760. ; pascal OSErr QTSetAtomData(QTAtomContainer container, QTAtom atom, long dataSize, void *atomData)
  4761. ;
  4762.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4763.         Macro
  4764.         _QTSetAtomData
  4765.             move.w              #$0211,D0
  4766.             dc.w                $AAAA
  4767.         EndM
  4768.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4769.         IMPORT_CFM_FUNCTION QTSetAtomData
  4770.     ENDIF
  4771.  
  4772. ;  extracting data
  4773. ;
  4774. ; pascal OSErr QTCopyAtomDataToHandle(QTAtomContainer container, QTAtom atom, Handle targetHandle)
  4775. ;
  4776.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4777.         Macro
  4778.         _QTCopyAtomDataToHandle
  4779.             move.w              #$0212,D0
  4780.             dc.w                $AAAA
  4781.         EndM
  4782.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4783.         IMPORT_CFM_FUNCTION QTCopyAtomDataToHandle
  4784.     ENDIF
  4785.  
  4786. ;
  4787. ; pascal OSErr QTCopyAtomDataToPtr(QTAtomContainer container, QTAtom atom, Boolean sizeOrLessOK, long size, void *targetPtr, long *actualSize)
  4788. ;
  4789.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4790.         Macro
  4791.         _QTCopyAtomDataToPtr
  4792.             move.w              #$0213,D0
  4793.             dc.w                $AAAA
  4794.         EndM
  4795.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4796.         IMPORT_CFM_FUNCTION QTCopyAtomDataToPtr
  4797.     ENDIF
  4798.  
  4799. ;
  4800. ; pascal OSErr QTGetAtomTypeAndID(QTAtomContainer container, QTAtom atom, QTAtomType *atomType, QTAtomID *id)
  4801. ;
  4802.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4803.         Macro
  4804.         _QTGetAtomTypeAndID
  4805.             move.w              #$0232,D0
  4806.             dc.w                $AAAA
  4807.         EndM
  4808.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4809.         IMPORT_CFM_FUNCTION QTGetAtomTypeAndID
  4810.     ENDIF
  4811.  
  4812. ;  extract a copy of an atom and all of it's children, caller disposes
  4813. ;
  4814. ; pascal OSErr QTCopyAtom(QTAtomContainer container, QTAtom atom, QTAtomContainer *targetContainer)
  4815. ;
  4816.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4817.         Macro
  4818.         _QTCopyAtom
  4819.             move.w              #$0214,D0
  4820.             dc.w                $AAAA
  4821.         EndM
  4822.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4823.         IMPORT_CFM_FUNCTION QTCopyAtom
  4824.     ENDIF
  4825.  
  4826. ;  obtaining direct reference to atom data
  4827. ;
  4828. ; pascal OSErr QTLockContainer(QTAtomContainer container)
  4829. ;
  4830.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4831.         Macro
  4832.         _QTLockContainer
  4833.             move.w              #$0215,D0
  4834.             dc.w                $AAAA
  4835.         EndM
  4836.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4837.         IMPORT_CFM_FUNCTION QTLockContainer
  4838.     ENDIF
  4839.  
  4840. ;
  4841. ; pascal OSErr QTGetAtomDataPtr(QTAtomContainer container, QTAtom atom, long *dataSize, Ptr *atomData)
  4842. ;
  4843.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4844.         Macro
  4845.         _QTGetAtomDataPtr
  4846.             move.w              #$0216,D0
  4847.             dc.w                $AAAA
  4848.         EndM
  4849.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4850.         IMPORT_CFM_FUNCTION QTGetAtomDataPtr
  4851.     ENDIF
  4852.  
  4853. ;
  4854. ; pascal OSErr QTUnlockContainer(QTAtomContainer container)
  4855. ;
  4856.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4857.         Macro
  4858.         _QTUnlockContainer
  4859.             move.w              #$0217,D0
  4860.             dc.w                $AAAA
  4861.         EndM
  4862.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4863.         IMPORT_CFM_FUNCTION QTUnlockContainer
  4864.     ENDIF
  4865.  
  4866.  
  4867. ;   building QTAtomContainer trees
  4868. ;   creates and inserts new atom at specified index, existing atoms at or after index are moved toward end of list
  4869. ;   used for Top-Down tree creation
  4870.  
  4871.  
  4872. ;
  4873. ; pascal OSErr QTInsertChild(QTAtomContainer container, QTAtom parentAtom, QTAtomType atomType, QTAtomID id, short index, long dataSize, void *data, QTAtom *newAtom)
  4874. ;
  4875.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4876.         Macro
  4877.         _QTInsertChild
  4878.             move.w              #$0218,D0
  4879.             dc.w                $AAAA
  4880.         EndM
  4881.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4882.         IMPORT_CFM_FUNCTION QTInsertChild
  4883.     ENDIF
  4884.  
  4885. ;  inserts children from childrenContainer as children of parentAtom
  4886. ;
  4887. ; pascal OSErr QTInsertChildren(QTAtomContainer container, QTAtom parentAtom, QTAtomContainer childrenContainer)
  4888. ;
  4889.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4890.         Macro
  4891.         _QTInsertChildren
  4892.             move.w              #$0219,D0
  4893.             dc.w                $AAAA
  4894.         EndM
  4895.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4896.         IMPORT_CFM_FUNCTION QTInsertChildren
  4897.     ENDIF
  4898.  
  4899. ;  destruction
  4900. ;
  4901. ; pascal OSErr QTRemoveAtom(QTAtomContainer container, QTAtom atom)
  4902. ;
  4903.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4904.         Macro
  4905.         _QTRemoveAtom
  4906.             move.w              #$021A,D0
  4907.             dc.w                $AAAA
  4908.         EndM
  4909.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4910.         IMPORT_CFM_FUNCTION QTRemoveAtom
  4911.     ENDIF
  4912.  
  4913. ;
  4914. ; pascal OSErr QTRemoveChildren(QTAtomContainer container, QTAtom atom)
  4915. ;
  4916.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4917.         Macro
  4918.         _QTRemoveChildren
  4919.             move.w              #$021B,D0
  4920.             dc.w                $AAAA
  4921.         EndM
  4922.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4923.         IMPORT_CFM_FUNCTION QTRemoveChildren
  4924.     ENDIF
  4925.  
  4926. ;  replacement must be same type as target
  4927. ;
  4928. ; pascal OSErr QTReplaceAtom(QTAtomContainer targetContainer, QTAtom targetAtom, QTAtomContainer replacementContainer, QTAtom replacementAtom)
  4929. ;
  4930.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4931.         Macro
  4932.         _QTReplaceAtom
  4933.             move.w              #$021C,D0
  4934.             dc.w                $AAAA
  4935.         EndM
  4936.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4937.         IMPORT_CFM_FUNCTION QTReplaceAtom
  4938.     ENDIF
  4939.  
  4940. ;
  4941. ; pascal OSErr QTSwapAtoms(QTAtomContainer container, QTAtom atom1, QTAtom atom2)
  4942. ;
  4943.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4944.         Macro
  4945.         _QTSwapAtoms
  4946.             move.w              #$01FF,D0
  4947.             dc.w                $AAAA
  4948.         EndM
  4949.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4950.         IMPORT_CFM_FUNCTION QTSwapAtoms
  4951.     ENDIF
  4952.  
  4953. ;
  4954. ; pascal OSErr QTSetAtomID(QTAtomContainer container, QTAtom atom, QTAtomID newID)
  4955. ;
  4956.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4957.         Macro
  4958.         _QTSetAtomID
  4959.             move.w              #$0231,D0
  4960.             dc.w                $AAAA
  4961.         EndM
  4962.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4963.         IMPORT_CFM_FUNCTION QTSetAtomID
  4964.     ENDIF
  4965.  
  4966. ;
  4967. ; pascal OSErr SetMediaPropertyAtom(Media theMedia, QTAtomContainer propertyAtom)
  4968. ;
  4969.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4970.         Macro
  4971.         _SetMediaPropertyAtom
  4972.             move.w              #$022E,D0
  4973.             dc.w                $AAAA
  4974.         EndM
  4975.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4976.         IMPORT_CFM_FUNCTION SetMediaPropertyAtom
  4977.     ENDIF
  4978.  
  4979. ;
  4980. ; pascal OSErr GetMediaPropertyAtom(Media theMedia, QTAtomContainer *propertyAtom)
  4981. ;
  4982.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  4983.         Macro
  4984.         _GetMediaPropertyAtom
  4985.             move.w              #$022F,D0
  4986.             dc.w                $AAAA
  4987.         EndM
  4988.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  4989.         IMPORT_CFM_FUNCTION GetMediaPropertyAtom
  4990.     ENDIF
  4991.  
  4992. ; *****
  4993. ;    Tween Support
  4994. ;****
  4995.  
  4996.  
  4997.  
  4998. TweenRecord                RECORD 0
  4999. version                     ds.l    1                ; offset: $0 (0)
  5000. container                 ds.l    1                ; offset: $4 (4)
  5001. tweenAtom                 ds.l    1                ; offset: $8 (8)
  5002. dataAtom                 ds.l    1                ; offset: $C (12)
  5003. percent                     ds.l    1                ; offset: $10 (16)
  5004. dataProc                 ds.l    1                ; offset: $14 (20)
  5005. private1                 ds.l    1                ; offset: $18 (24)
  5006. private2                 ds.l    1                ; offset: $1C (28)
  5007. sizeof                     EQU *                    ; size:   $20 (32)
  5008.                         ENDR
  5009. TweenV1Record            RECORD 0
  5010. version                     ds.l    1                ; offset: $0 (0)
  5011. container                 ds.l    1                ; offset: $4 (4)
  5012. tweenAtom                 ds.l    1                ; offset: $8 (8)
  5013. dataAtom                 ds.l    1                ; offset: $C (12)
  5014. percent                     ds.l    1                ; offset: $10 (16)
  5015. dataProc                 ds.l    1                ; offset: $14 (20)
  5016. private1                 ds.l    1                ; offset: $18 (24)
  5017. private2                 ds.l    1                ; offset: $1C (28)
  5018. fractPercent             ds.l    1                ; offset: $20 (32)
  5019. sizeof                     EQU *                    ; size:   $24 (36)
  5020.                         ENDR
  5021. ;
  5022. ; pascal OSErr QTNewTween(QTTweener *tween, QTAtomContainer container, QTAtom tweenAtom, TimeValue maxTime)
  5023. ;
  5024.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5025.         Macro
  5026.         _QTNewTween
  5027.             move.w              #$029D,D0
  5028.             dc.w                $AAAA
  5029.         EndM
  5030.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5031.         IMPORT_CFM_FUNCTION QTNewTween
  5032.     ENDIF
  5033.  
  5034. ;
  5035. ; pascal OSErr QTDisposeTween(QTTweener tween)
  5036. ;
  5037.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5038.         Macro
  5039.         _QTDisposeTween
  5040.             move.w              #$029F,D0
  5041.             dc.w                $AAAA
  5042.         EndM
  5043.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5044.         IMPORT_CFM_FUNCTION QTDisposeTween
  5045.     ENDIF
  5046.  
  5047. ;
  5048. ; pascal OSErr QTDoTween(QTTweener tween, TimeValue atTime, Handle result, long *resultSize, TweenerDataUPP tweenDataProc, void *tweenDataRefCon)
  5049. ;
  5050.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5051.         Macro
  5052.         _QTDoTween
  5053.             move.w              #$029E,D0
  5054.             dc.w                $AAAA
  5055.         EndM
  5056.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5057.         IMPORT_CFM_FUNCTION QTDoTween
  5058.     ENDIF
  5059.  
  5060. ; *****
  5061. ;    Sound Description Manipulations
  5062. ;****
  5063.  
  5064. ;
  5065. ; pascal OSErr AddSoundDescriptionExtension(SoundDescriptionHandle desc, Handle extension, OSType idType)
  5066. ;
  5067.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5068.         Macro
  5069.         _AddSoundDescriptionExtension
  5070.             move.w              #$02CF,D0
  5071.             dc.w                $AAAA
  5072.         EndM
  5073.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5074.         IMPORT_CFM_FUNCTION AddSoundDescriptionExtension
  5075.     ENDIF
  5076.  
  5077. ;
  5078. ; pascal OSErr GetSoundDescriptionExtension(SoundDescriptionHandle desc, Handle *extension, OSType idType)
  5079. ;
  5080.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5081.         Macro
  5082.         _GetSoundDescriptionExtension
  5083.             move.w              #$02D0,D0
  5084.             dc.w                $AAAA
  5085.         EndM
  5086.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5087.         IMPORT_CFM_FUNCTION GetSoundDescriptionExtension
  5088.     ENDIF
  5089.  
  5090. ;
  5091. ; pascal OSErr RemoveSoundDescriptionExtension(SoundDescriptionHandle desc, OSType idType)
  5092. ;
  5093.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5094.         Macro
  5095.         _RemoveSoundDescriptionExtension
  5096.             move.w              #$02D1,D0
  5097.             dc.w                $AAAA
  5098.         EndM
  5099.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5100.         IMPORT_CFM_FUNCTION RemoveSoundDescriptionExtension
  5101.     ENDIF
  5102.  
  5103. ; *****
  5104. ;    Preferences
  5105. ;****
  5106.  
  5107. ;
  5108. ; pascal OSErr GetQuickTimePreference(OSType preferenceType, QTAtomContainer *preferenceAtom)
  5109. ;
  5110.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5111.         Macro
  5112.         _GetQuickTimePreference
  5113.             move.w              #$02D4,D0
  5114.             dc.w                $AAAA
  5115.         EndM
  5116.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5117.         IMPORT_CFM_FUNCTION GetQuickTimePreference
  5118.     ENDIF
  5119.  
  5120. ;
  5121. ; pascal OSErr SetQuickTimePreference(OSType preferenceType, QTAtomContainer preferenceAtom)
  5122. ;
  5123.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5124.         Macro
  5125.         _SetQuickTimePreference
  5126.             move.w              #$02D5,D0
  5127.             dc.w                $AAAA
  5128.         EndM
  5129.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5130.         IMPORT_CFM_FUNCTION SetQuickTimePreference
  5131.     ENDIF
  5132.  
  5133. ; *****
  5134. ;    Effects and dialog Support
  5135. ;****
  5136.  
  5137. ;  atom types for entries in the effects list
  5138.  
  5139. kEffectNameAtom                    EQU        'name'                ; name of effect 
  5140. kEffectTypeAtom                    EQU        'type'                ; codec sub-type for effect 
  5141. kEffectManufacturerAtom            EQU        'manu'                ; codec manufacturer for effect 
  5142. QTParamPreviewRecord    RECORD 0
  5143. sourceID                 ds.l    1                ; offset: $0 (0)        ;  1 based source identifier
  5144. sourcePicture             ds.l    1                ; offset: $4 (4)        ;  picture for preview, must not dispose until dialog is disposed
  5145. sizeof                     EQU *                    ; size:   $8 (8)
  5146.                         ENDR
  5147. ; typedef struct QTParamPreviewRecord *    QTParamPreviewPtr
  5148.  
  5149. QTParamDialogEventRecord RECORD 0
  5150. theEvent                 ds.l    1                ; offset: $0 (0)        ;  Event received by the dialog 
  5151. whichDialog                 ds.l    1                ; offset: $4 (4)        ;  dialog that event was directed towards 
  5152. itemHit                     ds.w    1                ; offset: $8 (8)        ;  dialog item which was hit 
  5153. sizeof                     EQU *                    ; size:   $A (10)
  5154.                         ENDR
  5155. ; typedef struct QTParamDialogEventRecord * QTParamDialogEventPtr
  5156.  
  5157.  
  5158. pdActionConfirmDialog            EQU        1                    ; no param
  5159. pdActionSetAppleMenu            EQU        2                    ; param is MenuHandle
  5160. pdActionSetEditMenu                EQU        3                    ; param is MenuHandle
  5161. pdActionGetDialogValues            EQU        4                    ; param is QTAtomContainer
  5162. pdActionSetPreviewUserItem        EQU        5                    ; param is long
  5163. pdActionSetPreviewPicture        EQU        6                    ; param is QTParamPreviewPtr;
  5164. pdActionSetColorPickerEventProc    EQU        7                    ; param is UserEventUPP
  5165. pdActionSetDialogTitle            EQU        8                    ; param is StringPtr 
  5166. pdActionGetSubPanelMenu            EQU        9                    ; param is MenuHandle* 
  5167. pdActionActivateSubPanel        EQU        10                    ; param is long 
  5168. pdActionConductStopAlert        EQU        11                    ; param is StringPtr 
  5169. pdActionModelessCallback        EQU        12                    ; param is QTParamDialogEventPtr 
  5170. ; typedef long                             QTParameterDialog
  5171.  
  5172.  
  5173. elOptionsIncludeNoneInList        EQU        $00000001            ; "None" effect is included in list 
  5174. ; typedef long                             QTEffectListOptions
  5175.  
  5176.  
  5177. pdOptionsCollectOneValue        EQU        $00000001            ; should collect a single value only
  5178. pdOptionsAllowOptionalInterpolations EQU $00000002            ; non-novice interpolation options are shown 
  5179. pdOptionsModalDialogBox            EQU        $00000004            ; dialog box should be modal 
  5180. ; typedef long                             QTParameterDialogOptions
  5181.  
  5182.  
  5183. effectIsRealtime                EQU        0                    ; effect can be rendered in real time 
  5184. ;
  5185. ; pascal OSErr QTGetEffectsList(QTAtomContainer *returnedList, long minSources, long maxSources, QTEffectListOptions getOptions)
  5186. ;
  5187.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5188.         Macro
  5189.         _QTGetEffectsList
  5190.             move.w              #$02C9,D0
  5191.             dc.w                $AAAA
  5192.         EndM
  5193.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5194.         IMPORT_CFM_FUNCTION QTGetEffectsList
  5195.     ENDIF
  5196.  
  5197. ;
  5198. ; pascal OSErr QTCreateStandardParameterDialog(QTAtomContainer effectList, QTAtomContainer parameters, QTParameterDialogOptions dialogOptions, QTParameterDialog *createdDialog)
  5199. ;
  5200.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5201.         Macro
  5202.         _QTCreateStandardParameterDialog
  5203.             move.w              #$02CA,D0
  5204.             dc.w                $AAAA
  5205.         EndM
  5206.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5207.         IMPORT_CFM_FUNCTION QTCreateStandardParameterDialog
  5208.     ENDIF
  5209.  
  5210. ;
  5211. ; pascal OSErr QTIsStandardParameterDialogEvent(EventRecord *pEvent, QTParameterDialog createdDialog)
  5212. ;
  5213.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5214.         Macro
  5215.         _QTIsStandardParameterDialogEvent
  5216.             move.w              #$02CB,D0
  5217.             dc.w                $AAAA
  5218.         EndM
  5219.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5220.         IMPORT_CFM_FUNCTION QTIsStandardParameterDialogEvent
  5221.     ENDIF
  5222.  
  5223. ;
  5224. ; pascal OSErr QTDismissStandardParameterDialog(QTParameterDialog createdDialog)
  5225. ;
  5226.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5227.         Macro
  5228.         _QTDismissStandardParameterDialog
  5229.             move.w              #$02CC,D0
  5230.             dc.w                $AAAA
  5231.         EndM
  5232.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5233.         IMPORT_CFM_FUNCTION QTDismissStandardParameterDialog
  5234.     ENDIF
  5235.  
  5236. ;
  5237. ; pascal OSErr QTStandardParameterDialogDoAction(QTParameterDialog createdDialog, long action, void *params)
  5238. ;
  5239.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5240.         Macro
  5241.         _QTStandardParameterDialogDoAction
  5242.             move.w              #$02CD,D0
  5243.             dc.w                $AAAA
  5244.         EndM
  5245.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5246.         IMPORT_CFM_FUNCTION QTStandardParameterDialogDoAction
  5247.     ENDIF
  5248.  
  5249. ;
  5250. ; pascal OSErr QTGetEffectSpeed(QTAtomContainer parameters, Fixed *pFPS)
  5251. ;
  5252.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5253.         Macro
  5254.         _QTGetEffectSpeed
  5255.             move.w              #$02D2,D0
  5256.             dc.w                $AAAA
  5257.         EndM
  5258.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5259.         IMPORT_CFM_FUNCTION QTGetEffectSpeed
  5260.     ENDIF
  5261.  
  5262. ; *****
  5263. ;    Access Keys
  5264. ;****
  5265.  
  5266.  
  5267. kAccessKeyAtomType                EQU        'acky'
  5268.  
  5269. kAccessKeySystemFlag            EQU        $00000001
  5270. ;
  5271. ; pascal OSErr QTGetAccessKeys(Str255 accessKeyType, long flags, QTAtomContainer *keys)
  5272. ;
  5273.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5274.         Macro
  5275.         _QTGetAccessKeys
  5276.             move.w              #$02B3,D0
  5277.             dc.w                $AAAA
  5278.         EndM
  5279.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5280.         IMPORT_CFM_FUNCTION QTGetAccessKeys
  5281.     ENDIF
  5282.  
  5283. ;
  5284. ; pascal OSErr QTRegisterAccessKey(Str255 accessKeyType, long flags, Handle accessKey)
  5285. ;
  5286.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5287.         Macro
  5288.         _QTRegisterAccessKey
  5289.             move.w              #$02B4,D0
  5290.             dc.w                $AAAA
  5291.         EndM
  5292.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5293.         IMPORT_CFM_FUNCTION QTRegisterAccessKey
  5294.     ENDIF
  5295.  
  5296. ;
  5297. ; pascal OSErr QTUnregisterAccessKey(Str255 accessKeyType, long flags, Handle accessKey)
  5298. ;
  5299.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5300.         Macro
  5301.         _QTUnregisterAccessKey
  5302.             move.w              #$02B5,D0
  5303.             dc.w                $AAAA
  5304.         EndM
  5305.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5306.         IMPORT_CFM_FUNCTION QTUnregisterAccessKey
  5307.     ENDIF
  5308.  
  5309. ; *****
  5310. ;    Time table
  5311. ;****
  5312.  
  5313. ;
  5314. ; pascal OSErr MakeTrackTimeTable(Track trackH, long **offsets, TimeValue startTime, TimeValue endTime, TimeValue timeIncrement, short firstDataRefIndex, short lastDataRefIndex, long *retdataRefSkew)
  5315. ;
  5316.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5317.         Macro
  5318.         _MakeTrackTimeTable
  5319.             move.w              #$02BE,D0
  5320.             dc.w                $AAAA
  5321.         EndM
  5322.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5323.         IMPORT_CFM_FUNCTION MakeTrackTimeTable
  5324.     ENDIF
  5325.  
  5326. ;
  5327. ; pascal OSErr MakeMediaTimeTable(Media theMedia, long **offsets, TimeValue startTime, TimeValue endTime, TimeValue timeIncrement, short firstDataRefIndex, short lastDataRefIndex, long *retdataRefSkew)
  5328. ;
  5329.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5330.         Macro
  5331.         _MakeMediaTimeTable
  5332.             move.w              #$02BF,D0
  5333.             dc.w                $AAAA
  5334.         EndM
  5335.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5336.         IMPORT_CFM_FUNCTION MakeMediaTimeTable
  5337.     ENDIF
  5338.  
  5339. ;
  5340. ; pascal OSErr GetMaxLoadedTimeInMovie(Movie theMovie, TimeValue *time)
  5341. ;
  5342.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5343.         Macro
  5344.         _GetMaxLoadedTimeInMovie
  5345.             move.w              #$02C0,D0
  5346.             dc.w                $AAAA
  5347.         EndM
  5348.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5349.         IMPORT_CFM_FUNCTION GetMaxLoadedTimeInMovie
  5350.     ENDIF
  5351.  
  5352. ;
  5353. ; pascal OSErr QTMovieNeedsTimeTable(Movie theMovie, Boolean *needsTimeTable)
  5354. ;
  5355.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5356.         Macro
  5357.         _QTMovieNeedsTimeTable
  5358.             move.w              #$02C3,D0
  5359.             dc.w                $AAAA
  5360.         EndM
  5361.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5362.         IMPORT_CFM_FUNCTION QTMovieNeedsTimeTable
  5363.     ENDIF
  5364.  
  5365. ;
  5366. ; pascal OSErr QTGetDataRefMaxFileOffset(Movie movieH, OSType dataRefType, Handle dataRef, long *offset)
  5367. ;
  5368.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5369.         Macro
  5370.         _QTGetDataRefMaxFileOffset
  5371.             move.w              #$02C6,D0
  5372.             dc.w                $AAAA
  5373.         EndM
  5374.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5375.         IMPORT_CFM_FUNCTION QTGetDataRefMaxFileOffset
  5376.     ENDIF
  5377.  
  5378.  
  5379.  
  5380. ; *****
  5381. ;    QT International Text Atom Support
  5382. ;****
  5383.  
  5384.  
  5385. kITextRemoveEverythingBut        EQU        $00
  5386. kITextRemoveLeaveSuggestedAlternate EQU    $02
  5387.  
  5388. kITextAtomType                    EQU        'itxt'
  5389. kITextStringAtomType            EQU        'text'
  5390. ;
  5391. ; pascal OSErr ITextAddString(QTAtomContainer container, QTAtom parentAtom, RegionCode theRegionCode, ConstStr255Param theString)
  5392. ;
  5393.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5394.         Macro
  5395.         _ITextAddString
  5396.             move.w              #$027A,D0
  5397.             dc.w                $AAAA
  5398.         EndM
  5399.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5400.         IMPORT_CFM_FUNCTION ITextAddString
  5401.     ENDIF
  5402.  
  5403. ;
  5404. ; pascal OSErr ITextRemoveString(QTAtomContainer container, QTAtom parentAtom, RegionCode theRegionCode, long flags)
  5405. ;
  5406.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5407.         Macro
  5408.         _ITextRemoveString
  5409.             move.w              #$027B,D0
  5410.             dc.w                $AAAA
  5411.         EndM
  5412.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5413.         IMPORT_CFM_FUNCTION ITextRemoveString
  5414.     ENDIF
  5415.  
  5416. ;
  5417. ; pascal OSErr ITextGetString(QTAtomContainer container, QTAtom parentAtom, RegionCode requestedRegion, RegionCode *foundRegion, StringPtr theString)
  5418. ;
  5419.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5420.         Macro
  5421.         _ITextGetString
  5422.             move.w              #$027C,D0
  5423.             dc.w                $AAAA
  5424.         EndM
  5425.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5426.         IMPORT_CFM_FUNCTION ITextGetString
  5427.     ENDIF
  5428.  
  5429. ;
  5430. ; pascal OSErr QTTextToNativeText(Handle theText, long encoding, long flags)
  5431. ;
  5432.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5433.         Macro
  5434.         _QTTextToNativeText
  5435.             move.w              #$02DB,D0
  5436.             dc.w                $AAAA
  5437.         EndM
  5438.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5439.         IMPORT_CFM_FUNCTION QTTextToNativeText
  5440.     ENDIF
  5441.  
  5442. ; *************************
  5443. ;* track reference types
  5444. ;*************************
  5445.  
  5446.  
  5447. kTrackReferenceChapterList        EQU        'chap'
  5448. kTrackReferenceTimeCode            EQU        'tmcd'
  5449. kTrackReferenceModifier            EQU        'ssrc'
  5450. ; *************************
  5451. ;* modifier track types
  5452. ;*************************
  5453.  
  5454.  
  5455. kTrackModifierInput                EQU        $696E                ; is really 'in'
  5456. kTrackModifierType                EQU        $7479                ; is really 'ty'
  5457. kTrackModifierReference            EQU        'ssrc'
  5458. kTrackModifierObjectID            EQU        'obid'
  5459. kTrackModifierInputName            EQU        'name'
  5460.  
  5461. kInputMapSubInputID                EQU        'subi'
  5462.  
  5463. kTrackModifierTypeMatrix        EQU        1
  5464. kTrackModifierTypeClip            EQU        2
  5465. kTrackModifierTypeGraphicsMode    EQU        5
  5466. kTrackModifierTypeVolume        EQU        3
  5467. kTrackModifierTypeBalance        EQU        4
  5468. kTrackModifierTypeImage            EQU        'vide'                ; was kTrackModifierTypeSpriteImage
  5469. kTrackModifierObjectMatrix        EQU        6
  5470. kTrackModifierObjectGraphicsMode EQU    7
  5471. kTrackModifierType3d4x4Matrix    EQU        8
  5472. kTrackModifierCameraData        EQU        9
  5473. kTrackModifierSoundLocalizationData EQU    10
  5474. kTrackModifierObjectImageIndex    EQU        11
  5475. kTrackModifierObjectLayer        EQU        12
  5476. kTrackModifierObjectVisible        EQU        13
  5477. kTrackModifierPanAngle            EQU        'pan '
  5478. kTrackModifierTiltAngle            EQU        'tilt'
  5479. kTrackModifierVerticalFieldOfViewAngle EQU 'fov '
  5480. kTrackModifierObjectQTEventSend    EQU        'evnt'
  5481. ModifierTrackGraphicsModeRecord RECORD 0
  5482. graphicsMode             ds.l    1                ; offset: $0 (0)
  5483. opColor                     ds        RGBColor        ; offset: $4 (4)
  5484. sizeof                     EQU *                    ; size:   $A (10)
  5485.                         ENDR
  5486.  
  5487. ; *************************
  5488. ;* tween track types
  5489. ;*************************
  5490.  
  5491.  
  5492. kTweenTypeShort                    EQU        1
  5493. kTweenTypeLong                    EQU        2
  5494. kTweenTypeFixed                    EQU        3
  5495. kTweenTypePoint                    EQU        4
  5496. kTweenTypeQDRect                EQU        5
  5497. kTweenTypeQDRegion                EQU        6
  5498. kTweenTypeMatrix                EQU        7
  5499. kTweenTypeRGBColor                EQU        8
  5500. kTweenTypeGraphicsModeWithRGBColor EQU    9
  5501. kTweenTypeQTFloatSingle            EQU        10
  5502. kTweenTypeQTFloatDouble            EQU        11
  5503. kTweenTypeFixedPoint            EQU        12
  5504. kTweenType3dScale                EQU        '3sca'
  5505. kTweenType3dTranslate            EQU        '3tra'
  5506. kTweenType3dRotate                EQU        '3rot'
  5507. kTweenType3dRotateAboutPoint    EQU        '3rap'
  5508. kTweenType3dRotateAboutAxis        EQU        '3rax'
  5509. kTweenType3dRotateAboutVector    EQU        '3rvc'
  5510. kTweenType3dQuaternion            EQU        '3qua'
  5511. kTweenType3dMatrix                EQU        '3mat'
  5512. kTweenType3dCameraData            EQU        '3cam'
  5513. kTweenType3dSoundLocalizationData EQU    '3slc'
  5514. kTweenTypePathToMatrixTranslation EQU    'gxmt'
  5515. kTweenTypePathToMatrixRotation    EQU        'gxpr'
  5516. kTweenTypePathToMatrixTranslationAndRotation EQU 'gxmr'
  5517. kTweenTypePathToFixedPoint        EQU        'gxfp'
  5518. kTweenTypePathXtoY                EQU        'gxxy'
  5519. kTweenTypePathYtoX                EQU        'gxyx'
  5520. kTweenTypeAtomList                EQU        'atom'
  5521. kTweenTypePolygon                EQU        'poly'
  5522. kTweenTypeMultiMatrix            EQU        'mulm'
  5523. kTweenTypeSpin                    EQU        'spin'
  5524. kTweenType3dMatrixNonLinear        EQU        '3nlr'
  5525. kTweenType3dVRObject            EQU        '3vro'
  5526.  
  5527. kTweenEntry                        EQU        'twen'
  5528. kTweenData                        EQU        'data'
  5529. kTweenType                        EQU        'twnt'
  5530. kTweenStartOffset                EQU        'twst'
  5531. kTweenDuration                    EQU        'twdu'
  5532. kTweenFlags                        EQU        'flag'
  5533. kTweenOutputMin                    EQU        'omin'
  5534. kTweenOutputMax                    EQU        'omax'
  5535. kTweenSequenceElement            EQU        'seqe'
  5536. kTween3dInitialCondition        EQU        'icnd'
  5537. kTweenInterpolationID            EQU        'intr'
  5538. kTweenRegionData                EQU        'qdrg'
  5539. kTweenPictureData                EQU        'PICT'
  5540. kListElementType                EQU        'type'
  5541. kListElementDataType            EQU        'daty'
  5542. kNameAtom                        EQU        'name'
  5543. kInitialRotationAtom            EQU        'inro'
  5544. kNonLinearTweenHeader            EQU        'nlth'
  5545. ;  kTweenFlags
  5546.  
  5547. kTweenReturnDelta                EQU        $00000001
  5548. TweenSequenceEntryRecord RECORD 0
  5549. endPercent                 ds.l    1                ; offset: $0 (0)
  5550. tweenAtomID                 ds.l    1                ; offset: $4 (4)
  5551. dataAtomID                 ds.l    1                ; offset: $8 (8)
  5552. sizeof                     EQU *                    ; size:   $C (12)
  5553.                         ENDR
  5554.  
  5555.  
  5556.  
  5557.  
  5558.  
  5559. ;  they are for non-MacOS file manager
  5560.  
  5561. pathTooLongErr                    EQU        -2110
  5562. emptyPathErr                    EQU        -2111
  5563. noPathMappingErr                EQU        -2112
  5564. pathNotVerifiedErr                EQU        -2113
  5565. unknownFormatErr                EQU        -2114
  5566. wackBadFileErr                    EQU        -2115
  5567. wackForkNotFoundErr                EQU        -2116
  5568. wackBadMetaDataErr                EQU        -2117
  5569. qfcbNotFoundErr                    EQU        -2118
  5570. qfcbNotCreatedErr                EQU        -2119
  5571. AAPNotCreatedErr                EQU        -2120
  5572. AAPNotFoundErr                    EQU        -2121
  5573. ASDBadHeaderErr                    EQU        -2122
  5574. ASDBadForkErr                    EQU        -2123
  5575. ASDEntryNotFoundErr                EQU        -2124
  5576.  
  5577.  
  5578.  
  5579.  
  5580. ; *************************
  5581. ;* Video Media routines
  5582. ;*************************
  5583.  
  5584.  
  5585.  
  5586.  
  5587. videoFlagDontLeanAhead            EQU        $00000001
  5588.  
  5589.  
  5590.  
  5591. ;  use these three routines at your own peril
  5592. ;
  5593. ; pascal ComponentResult VideoMediaResetStatistics(MediaHandler mh)
  5594. ;
  5595.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5596.         Macro
  5597.         _VideoMediaResetStatistics
  5598.             move.l              #$00000105,-(sp)
  5599.             moveq               #0,D0
  5600.             dc.w                $A82A
  5601.         EndM
  5602.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5603.         IMPORT_CFM_FUNCTION VideoMediaResetStatistics
  5604.     ENDIF
  5605.  
  5606. ;
  5607. ; pascal ComponentResult VideoMediaGetStatistics(MediaHandler mh)
  5608. ;
  5609.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5610.         Macro
  5611.         _VideoMediaGetStatistics
  5612.             move.l              #$00000106,-(sp)
  5613.             moveq               #0,D0
  5614.             dc.w                $A82A
  5615.         EndM
  5616.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5617.         IMPORT_CFM_FUNCTION VideoMediaGetStatistics
  5618.     ENDIF
  5619.  
  5620.  
  5621. ;
  5622. ; pascal ComponentResult VideoMediaGetStallCount(MediaHandler mh, unsigned long *stalls)
  5623. ;
  5624.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5625.         Macro
  5626.         _VideoMediaGetStallCount
  5627.             move.l              #$0004010E,-(sp)
  5628.             moveq               #0,D0
  5629.             dc.w                $A82A
  5630.         EndM
  5631.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5632.         IMPORT_CFM_FUNCTION VideoMediaGetStallCount
  5633.     ENDIF
  5634.  
  5635.  
  5636.  
  5637. ; *************************
  5638. ;* Text Media routines
  5639. ;*************************
  5640.  
  5641.  
  5642.  
  5643.  
  5644. ;  Return displayFlags for TextProc 
  5645.  
  5646. txtProcDefaultDisplay            EQU        0                    ;    Use the media's default
  5647. txtProcDontDisplay                EQU        1                    ;    Don't display the text
  5648. txtProcDoDisplay                EQU        2                    ;    Do display the text
  5649. ;
  5650. ; pascal ComponentResult TextMediaSetTextProc(MediaHandler mh, TextMediaUPP TextProc, long refcon)
  5651. ;
  5652.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5653.         Macro
  5654.         _TextMediaSetTextProc
  5655.             move.l              #$00080101,-(sp)
  5656.             moveq               #0,D0
  5657.             dc.w                $A82A
  5658.         EndM
  5659.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5660.         IMPORT_CFM_FUNCTION TextMediaSetTextProc
  5661.     ENDIF
  5662.  
  5663. ;
  5664. ; pascal ComponentResult TextMediaAddTextSample(MediaHandler mh, Ptr text, unsigned long size, short fontNumber, short fontSize, Style textFace, RGBColor *textColor, RGBColor *backColor, short textJustification, Rect *textBox, long displayFlags, TimeValue scrollDelay, short hiliteStart, short hiliteEnd, RGBColor *rgbHiliteColor, TimeValue duration, TimeValue *sampleTime)
  5665. ;
  5666.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5667.         Macro
  5668.         _TextMediaAddTextSample
  5669.             move.l              #$00340102,-(sp)
  5670.             moveq               #0,D0
  5671.             dc.w                $A82A
  5672.         EndM
  5673.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5674.         IMPORT_CFM_FUNCTION TextMediaAddTextSample
  5675.     ENDIF
  5676.  
  5677. ;
  5678. ; pascal ComponentResult TextMediaAddTESample(MediaHandler mh, TEHandle hTE, RGBColor *backColor, short textJustification, Rect *textBox, long displayFlags, TimeValue scrollDelay, short hiliteStart, short hiliteEnd, RGBColor *rgbHiliteColor, TimeValue duration, TimeValue *sampleTime)
  5679. ;
  5680.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5681.         Macro
  5682.         _TextMediaAddTESample
  5683.             move.l              #$00260103,-(sp)
  5684.             moveq               #0,D0
  5685.             dc.w                $A82A
  5686.         EndM
  5687.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5688.         IMPORT_CFM_FUNCTION TextMediaAddTESample
  5689.     ENDIF
  5690.  
  5691. ;
  5692. ; pascal ComponentResult TextMediaAddHiliteSample(MediaHandler mh, short hiliteStart, short hiliteEnd, RGBColor *rgbHiliteColor, TimeValue duration, TimeValue *sampleTime)
  5693. ;
  5694.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5695.         Macro
  5696.         _TextMediaAddHiliteSample
  5697.             move.l              #$00100104,-(sp)
  5698.             moveq               #0,D0
  5699.             dc.w                $A82A
  5700.         EndM
  5701.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5702.         IMPORT_CFM_FUNCTION TextMediaAddHiliteSample
  5703.     ENDIF
  5704.  
  5705.  
  5706. findTextEdgeOK                    EQU        $01                    ; Okay to find text at specified sample time
  5707. findTextCaseSensitive            EQU        $02                    ; Case sensitive search
  5708. findTextReverseSearch            EQU        $04                    ; Search from sampleTime backwards
  5709. findTextWrapAround                EQU        $08                    ; Wrap search when beginning or end of movie is hit
  5710. findTextUseOffset                EQU        $10                    ; Begin search at the given character offset into sample rather than edge
  5711. ;
  5712. ; pascal ComponentResult TextMediaFindNextText(MediaHandler mh, Ptr text, long size, short findFlags, TimeValue startTime, TimeValue *foundTime, TimeValue *foundDuration, long *offset)
  5713. ;
  5714.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5715.         Macro
  5716.         _TextMediaFindNextText
  5717.             move.l              #$001A0105,-(sp)
  5718.             moveq               #0,D0
  5719.             dc.w                $A82A
  5720.         EndM
  5721.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5722.         IMPORT_CFM_FUNCTION TextMediaFindNextText
  5723.     ENDIF
  5724.  
  5725. ;
  5726. ; pascal ComponentResult TextMediaHiliteTextSample(MediaHandler mh, TimeValue sampleTime, short hiliteStart, short hiliteEnd, RGBColor *rgbHiliteColor)
  5727. ;
  5728.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5729.         Macro
  5730.         _TextMediaHiliteTextSample
  5731.             move.l              #$000C0106,-(sp)
  5732.             moveq               #0,D0
  5733.             dc.w                $A82A
  5734.         EndM
  5735.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5736.         IMPORT_CFM_FUNCTION TextMediaHiliteTextSample
  5737.     ENDIF
  5738.  
  5739.  
  5740. dropShadowOffsetType            EQU        'drpo'
  5741. dropShadowTranslucencyType        EQU        'drpt'
  5742. ;
  5743. ; pascal ComponentResult TextMediaSetTextSampleData(MediaHandler mh, void *data, OSType dataType)
  5744. ;
  5745.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5746.         Macro
  5747.         _TextMediaSetTextSampleData
  5748.             move.l              #$00080107,-(sp)
  5749.             moveq               #0,D0
  5750.             dc.w                $A82A
  5751.         EndM
  5752.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5753.         IMPORT_CFM_FUNCTION TextMediaSetTextSampleData
  5754.     ENDIF
  5755.  
  5756.  
  5757.  
  5758.  
  5759.  
  5760. ; *************************
  5761. ;* Sprite Media routines
  5762. ;*************************
  5763.  
  5764. ;  flags for sprite hit test routines 
  5765.  
  5766. spriteHitTestBounds                EQU        $00000001            ;    point must only be within sprite's bounding box
  5767. spriteHitTestImage                EQU        $00000002            ;  point must be within the shape of the sprite's image
  5768. spriteHitTestInvisibleSprites    EQU        $00000004            ;  invisible sprites may be hit tested
  5769. spriteHitTestIsClick            EQU        $00000008            ;  for codecs that want mouse events
  5770. spriteHitTestLocInDisplayCoordinates EQU $00000010            ;    set if you want to pass a display coordiate point to SpriteHitTest
  5771. ;  atom types for sprite media 
  5772.  
  5773. kSpriteAtomType                    EQU        'sprt'
  5774. kSpriteImagesContainerAtomType    EQU        'imct'
  5775. kSpriteImageAtomType            EQU        'imag'
  5776. kSpriteImageDataAtomType        EQU        'imda'
  5777. kSpriteImageGroupIDAtomType        EQU        'imgr'
  5778. kSpriteImageRegistrationAtomType EQU    'imrg'
  5779. kSpriteSharedDataAtomType        EQU        'dflt'
  5780. kSpriteNameAtomType                EQU        'name'
  5781. kSpriteImageNameAtomType        EQU        'name'
  5782. kSpriteUsesImageIDsAtomType        EQU        'uses'                ; leaf data is an array of QTAtomID's, one per image used
  5783. ;
  5784. ; pascal ComponentResult SpriteMediaSetProperty(MediaHandler mh, short spriteIndex, long propertyType, void *propertyValue)
  5785. ;
  5786.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5787.         Macro
  5788.         _SpriteMediaSetProperty
  5789.             move.l              #$000A0101,-(sp)
  5790.             moveq               #0,D0
  5791.             dc.w                $A82A
  5792.         EndM
  5793.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5794.         IMPORT_CFM_FUNCTION SpriteMediaSetProperty
  5795.     ENDIF
  5796.  
  5797. ;
  5798. ; pascal ComponentResult SpriteMediaGetProperty(MediaHandler mh, short spriteIndex, long propertyType, void *propertyValue)
  5799. ;
  5800.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5801.         Macro
  5802.         _SpriteMediaGetProperty
  5803.             move.l              #$000A0102,-(sp)
  5804.             moveq               #0,D0
  5805.             dc.w                $A82A
  5806.         EndM
  5807.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5808.         IMPORT_CFM_FUNCTION SpriteMediaGetProperty
  5809.     ENDIF
  5810.  
  5811. ;
  5812. ; pascal ComponentResult SpriteMediaHitTestSprites(MediaHandler mh, long flags, Point loc, short *spriteHitIndex)
  5813. ;
  5814.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5815.         Macro
  5816.         _SpriteMediaHitTestSprites
  5817.             move.l              #$000C0103,-(sp)
  5818.             moveq               #0,D0
  5819.             dc.w                $A82A
  5820.         EndM
  5821.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5822.         IMPORT_CFM_FUNCTION SpriteMediaHitTestSprites
  5823.     ENDIF
  5824.  
  5825. ;
  5826. ; pascal ComponentResult SpriteMediaCountSprites(MediaHandler mh, short *numSprites)
  5827. ;
  5828.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5829.         Macro
  5830.         _SpriteMediaCountSprites
  5831.             move.l              #$00040104,-(sp)
  5832.             moveq               #0,D0
  5833.             dc.w                $A82A
  5834.         EndM
  5835.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5836.         IMPORT_CFM_FUNCTION SpriteMediaCountSprites
  5837.     ENDIF
  5838.  
  5839. ;
  5840. ; pascal ComponentResult SpriteMediaCountImages(MediaHandler mh, short *numImages)
  5841. ;
  5842.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5843.         Macro
  5844.         _SpriteMediaCountImages
  5845.             move.l              #$00040105,-(sp)
  5846.             moveq               #0,D0
  5847.             dc.w                $A82A
  5848.         EndM
  5849.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5850.         IMPORT_CFM_FUNCTION SpriteMediaCountImages
  5851.     ENDIF
  5852.  
  5853. ;
  5854. ; pascal ComponentResult SpriteMediaGetIndImageDescription(MediaHandler mh, short imageIndex, ImageDescriptionHandle imageDescription)
  5855. ;
  5856.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5857.         Macro
  5858.         _SpriteMediaGetIndImageDescription
  5859.             move.l              #$00060106,-(sp)
  5860.             moveq               #0,D0
  5861.             dc.w                $A82A
  5862.         EndM
  5863.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5864.         IMPORT_CFM_FUNCTION SpriteMediaGetIndImageDescription
  5865.     ENDIF
  5866.  
  5867. ;
  5868. ; pascal ComponentResult SpriteMediaGetDisplayedSampleNumber(MediaHandler mh, long *sampleNum)
  5869. ;
  5870.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5871.         Macro
  5872.         _SpriteMediaGetDisplayedSampleNumber
  5873.             move.l              #$00040107,-(sp)
  5874.             moveq               #0,D0
  5875.             dc.w                $A82A
  5876.         EndM
  5877.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5878.         IMPORT_CFM_FUNCTION SpriteMediaGetDisplayedSampleNumber
  5879.     ENDIF
  5880.  
  5881. ;
  5882. ; pascal ComponentResult SpriteMediaGetSpriteName(MediaHandler mh, QTAtomID spriteID, Str255 spriteName)
  5883. ;
  5884.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5885.         Macro
  5886.         _SpriteMediaGetSpriteName
  5887.             move.l              #$00080108,-(sp)
  5888.             moveq               #0,D0
  5889.             dc.w                $A82A
  5890.         EndM
  5891.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5892.         IMPORT_CFM_FUNCTION SpriteMediaGetSpriteName
  5893.     ENDIF
  5894.  
  5895. ;
  5896. ; pascal ComponentResult SpriteMediaGetImageName(MediaHandler mh, short imageIndex, Str255 imageName)
  5897. ;
  5898.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5899.         Macro
  5900.         _SpriteMediaGetImageName
  5901.             move.l              #$00060109,-(sp)
  5902.             moveq               #0,D0
  5903.             dc.w                $A82A
  5904.         EndM
  5905.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5906.         IMPORT_CFM_FUNCTION SpriteMediaGetImageName
  5907.     ENDIF
  5908.  
  5909. ;
  5910. ; pascal ComponentResult SpriteMediaSetSpriteProperty(MediaHandler mh, QTAtomID spriteID, long propertyType, void *propertyValue)
  5911. ;
  5912.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5913.         Macro
  5914.         _SpriteMediaSetSpriteProperty
  5915.             move.l              #$000C010A,-(sp)
  5916.             moveq               #0,D0
  5917.             dc.w                $A82A
  5918.         EndM
  5919.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5920.         IMPORT_CFM_FUNCTION SpriteMediaSetSpriteProperty
  5921.     ENDIF
  5922.  
  5923. ;
  5924. ; pascal ComponentResult SpriteMediaGetSpriteProperty(MediaHandler mh, QTAtomID spriteID, long propertyType, void *propertyValue)
  5925. ;
  5926.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5927.         Macro
  5928.         _SpriteMediaGetSpriteProperty
  5929.             move.l              #$000C010B,-(sp)
  5930.             moveq               #0,D0
  5931.             dc.w                $A82A
  5932.         EndM
  5933.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5934.         IMPORT_CFM_FUNCTION SpriteMediaGetSpriteProperty
  5935.     ENDIF
  5936.  
  5937. ;
  5938. ; pascal ComponentResult SpriteMediaHitTestAllSprites(MediaHandler mh, long flags, Point loc, QTAtomID *spriteHitID)
  5939. ;
  5940.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5941.         Macro
  5942.         _SpriteMediaHitTestAllSprites
  5943.             move.l              #$000C010C,-(sp)
  5944.             moveq               #0,D0
  5945.             dc.w                $A82A
  5946.         EndM
  5947.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5948.         IMPORT_CFM_FUNCTION SpriteMediaHitTestAllSprites
  5949.     ENDIF
  5950.  
  5951. ;
  5952. ; pascal ComponentResult SpriteMediaHitTestOneSprite(MediaHandler mh, QTAtomID spriteID, long flags, Point loc, Boolean *wasHit)
  5953. ;
  5954.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5955.         Macro
  5956.         _SpriteMediaHitTestOneSprite
  5957.             move.l              #$0010010D,-(sp)
  5958.             moveq               #0,D0
  5959.             dc.w                $A82A
  5960.         EndM
  5961.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5962.         IMPORT_CFM_FUNCTION SpriteMediaHitTestOneSprite
  5963.     ENDIF
  5964.  
  5965. ;
  5966. ; pascal ComponentResult SpriteMediaSpriteIndexToID(MediaHandler mh, short spriteIndex, QTAtomID *spriteID)
  5967. ;
  5968.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5969.         Macro
  5970.         _SpriteMediaSpriteIndexToID
  5971.             move.l              #$0006010E,-(sp)
  5972.             moveq               #0,D0
  5973.             dc.w                $A82A
  5974.         EndM
  5975.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5976.         IMPORT_CFM_FUNCTION SpriteMediaSpriteIndexToID
  5977.     ENDIF
  5978.  
  5979. ;
  5980. ; pascal ComponentResult SpriteMediaSpriteIDToIndex(MediaHandler mh, QTAtomID spriteID, short *spriteIndex)
  5981. ;
  5982.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5983.         Macro
  5984.         _SpriteMediaSpriteIDToIndex
  5985.             move.l              #$0008010F,-(sp)
  5986.             moveq               #0,D0
  5987.             dc.w                $A82A
  5988.         EndM
  5989.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  5990.         IMPORT_CFM_FUNCTION SpriteMediaSpriteIDToIndex
  5991.     ENDIF
  5992.  
  5993. ;
  5994. ; pascal ComponentResult SpriteMediaGetSpriteActionsForQTEvent(MediaHandler mh, QTEventRecordPtr event, QTAtomID spriteID, QTAtomContainer *container, QTAtom *atom)
  5995. ;
  5996.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  5997.         Macro
  5998.         _SpriteMediaGetSpriteActionsForQTEvent
  5999.             move.l              #$00100110,-(sp)
  6000.             moveq               #0,D0
  6001.             dc.w                $A82A
  6002.         EndM
  6003.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6004.         IMPORT_CFM_FUNCTION SpriteMediaGetSpriteActionsForQTEvent
  6005.     ENDIF
  6006.  
  6007. ;
  6008. ; pascal ComponentResult SpriteMediaSetActionVariable(MediaHandler mh, QTAtomID variableID, const float *value)
  6009. ;
  6010.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6011.         Macro
  6012.         _SpriteMediaSetActionVariable
  6013.             move.l              #$00080111,-(sp)
  6014.             moveq               #0,D0
  6015.             dc.w                $A82A
  6016.         EndM
  6017.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6018.         IMPORT_CFM_FUNCTION SpriteMediaSetActionVariable
  6019.     ENDIF
  6020.  
  6021. ;
  6022. ; pascal ComponentResult SpriteMediaGetActionVariable(MediaHandler mh, QTAtomID variableID, float *value)
  6023. ;
  6024.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6025.         Macro
  6026.         _SpriteMediaGetActionVariable
  6027.             move.l              #$00080112,-(sp)
  6028.             moveq               #0,D0
  6029.             dc.w                $A82A
  6030.         EndM
  6031.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6032.         IMPORT_CFM_FUNCTION SpriteMediaGetActionVariable
  6033.     ENDIF
  6034.  
  6035. ;
  6036. ; pascal ComponentResult SpriteMediaGetIndImageProperty(MediaHandler mh, short imageIndex, long imagePropertyType, void *imagePropertyValue)
  6037. ;
  6038.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6039.         Macro
  6040.         _SpriteMediaGetIndImageProperty
  6041.             move.l              #$000A0113,-(sp)
  6042.             moveq               #0,D0
  6043.             dc.w                $A82A
  6044.         EndM
  6045.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6046.         IMPORT_CFM_FUNCTION SpriteMediaGetIndImageProperty
  6047.     ENDIF
  6048.  
  6049.  
  6050. ; *************************
  6051. ;* 3D Media routines
  6052. ;*************************
  6053.  
  6054. ;
  6055. ; pascal ComponentResult Media3DGetNamedObjectList(MediaHandler mh, QTAtomContainer *objectList)
  6056. ;
  6057.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6058.         Macro
  6059.         _Media3DGetNamedObjectList
  6060.             move.l              #$00040101,-(sp)
  6061.             moveq               #0,D0
  6062.             dc.w                $A82A
  6063.         EndM
  6064.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6065.         IMPORT_CFM_FUNCTION Media3DGetNamedObjectList
  6066.     ENDIF
  6067.  
  6068. ;
  6069. ; pascal ComponentResult Media3DGetRendererList(MediaHandler mh, QTAtomContainer *rendererList)
  6070. ;
  6071.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6072.         Macro
  6073.         _Media3DGetRendererList
  6074.             move.l              #$00040102,-(sp)
  6075.             moveq               #0,D0
  6076.             dc.w                $A82A
  6077.         EndM
  6078.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6079.         IMPORT_CFM_FUNCTION Media3DGetRendererList
  6080.     ENDIF
  6081.  
  6082.  
  6083.  
  6084. ; ****************************************
  6085. ;*                                        *
  6086. ;*      M O V I E   C O N T R O L L E R        *
  6087. ;*                                        *
  6088. ;***************************************
  6089.  
  6090.  
  6091. MovieControllerComponentType    EQU        'play'
  6092.  
  6093.  
  6094. kMovieControllerQTVRFlag        EQU        $01
  6095. kMovieControllerDontDisplayToUser EQU    $02
  6096. ; typedef ComponentInstance             MovieController
  6097.  
  6098.  
  6099. mcActionIdle                    EQU        1                    ; no param
  6100. mcActionDraw                    EQU        2                    ; param is WindowPtr
  6101. mcActionActivate                EQU        3                    ; no param
  6102. mcActionDeactivate                EQU        4                    ; no param
  6103. mcActionMouseDown                EQU        5                    ; param is pointer to EventRecord
  6104. mcActionKey                        EQU        6                    ; param is pointer to EventRecord
  6105. mcActionPlay                    EQU        8                    ; param is Fixed, play rate
  6106. mcActionGoToTime                EQU        12                    ; param is TimeRecord
  6107. mcActionSetVolume                EQU        14                    ; param is a short
  6108. mcActionGetVolume                EQU        15                    ; param is pointer to a short
  6109. mcActionStep                    EQU        18                    ; param is number of steps (short)
  6110. mcActionSetLooping                EQU        21                    ; param is Boolean
  6111. mcActionGetLooping                EQU        22                    ; param is pointer to a Boolean
  6112. mcActionSetLoopIsPalindrome        EQU        23                    ; param is Boolean
  6113. mcActionGetLoopIsPalindrome        EQU        24                    ; param is pointer to a Boolean
  6114. mcActionSetGrowBoxBounds        EQU        25                    ; param is a Rect
  6115. mcActionControllerSizeChanged    EQU        26                    ; no param
  6116. mcActionSetSelectionBegin        EQU        29                    ; param is TimeRecord
  6117. mcActionSetSelectionDuration    EQU        30                    ; param is TimeRecord, action only taken on set-duration
  6118. mcActionSetKeysEnabled            EQU        32                    ; param is Boolean
  6119. mcActionGetKeysEnabled            EQU        33                    ; param is pointer to Boolean
  6120. mcActionSetPlaySelection        EQU        34                    ; param is Boolean
  6121. mcActionGetPlaySelection        EQU        35                    ; param is pointer to Boolean
  6122. mcActionSetUseBadge                EQU        36                    ; param is Boolean
  6123. mcActionGetUseBadge                EQU        37                    ; param is pointer to Boolean
  6124. mcActionSetFlags                EQU        38                    ; param is long of flags
  6125. mcActionGetFlags                EQU        39                    ; param is pointer to a long of flags
  6126. mcActionSetPlayEveryFrame        EQU        40                    ; param is Boolean
  6127. mcActionGetPlayEveryFrame        EQU        41                    ; param is pointer to Boolean
  6128. mcActionGetPlayRate                EQU        42                    ; param is pointer to Fixed
  6129. mcActionShowBalloon                EQU        43                    ; param is a pointer to a boolean. set to false to stop balloon
  6130. mcActionBadgeClick                EQU        44                    ; param is pointer to Boolean. set to false to ignore click
  6131. mcActionMovieClick                EQU        45                    ; param is pointer to event record. change "what" to nullEvt to kill click
  6132. mcActionSuspend                    EQU        46                    ; no param
  6133. mcActionResume                    EQU        47                    ; no param
  6134. mcActionSetControllerKeysEnabled EQU    48                    ; param is Boolean
  6135. mcActionGetTimeSliderRect        EQU        49                    ; param is pointer to rect
  6136. mcActionMovieEdited                EQU        50                    ; no param
  6137. mcActionGetDragEnabled            EQU        51                    ; param is pointer to Boolean
  6138. mcActionSetDragEnabled            EQU        52                    ; param is Boolean
  6139. mcActionGetSelectionBegin        EQU        53                    ; param is TimeRecord
  6140. mcActionGetSelectionDuration    EQU        54                    ; param is TimeRecord
  6141. mcActionPrerollAndPlay            EQU        55                    ; param is Fixed, play rate
  6142. mcActionGetCursorSettingEnabled    EQU        56                    ; param is pointer to Boolean
  6143. mcActionSetCursorSettingEnabled    EQU        57                    ; param is Boolean
  6144. mcActionSetColorTable            EQU        58                    ; param is CTabHandle
  6145. mcActionLinkToURL                EQU        59                    ; param is Handle to URL
  6146. mcActionCustomButtonClick        EQU        60                    ; param is pointer to EventRecord
  6147. mcActionForceTimeTableUpdate    EQU        61                    ; no param
  6148. mcActionSetControllerTimeLimits    EQU        62                    ; param is pointer to 2 time values min/max. do no send this message to controller. used internally only.
  6149. mcActionExecuteAllActionsForQTEvent EQU    63                    ; param is ResolvedQTEventSpecPtr
  6150. mcActionExecuteOneActionForQTEvent EQU    64                    ; param is ResolvedQTEventSpecPtr
  6151. mcActionAdjustCursor            EQU        65                    ; param is pointer to EventRecord (WindowPtr is in message parameter)
  6152. mcActionUseTrackForTimeTable    EQU        66                    ; param is pointer to {long trackID; Boolean useIt}. do not send this message to controller. 
  6153. mcActionClickAndHoldPoint        EQU        67                    ; param is point (local coordinates). return true if point has click & hold action (e.g., VR object movie autorotate spot)
  6154. mcActionShowMessageString        EQU        68                    ; param is a StringPtr
  6155. ; typedef short                         mcAction
  6156.  
  6157.  
  6158. mcFlagSuppressMovieFrame        EQU        $01
  6159. mcFlagSuppressStepButtons        EQU        $02
  6160. mcFlagSuppressSpeakerButton        EQU        $04
  6161. mcFlagsUseWindowPalette            EQU        $08
  6162. mcFlagsDontInvalidate            EQU        $10
  6163. mcFlagsUseCustomButton            EQU        $20
  6164.  
  6165.  
  6166. mcPositionDontInvalidate        EQU        $20
  6167. ; typedef unsigned long                 mcFlags
  6168.  
  6169.  
  6170. kMCIEEnabledButtonPicture        EQU        1
  6171. kMCIEDisabledButtonPicture        EQU        2
  6172. kMCIEDepressedButtonPicture        EQU        3
  6173. kMCIEEnabledSizeBoxPicture        EQU        4
  6174. kMCIEDisabledSizeBoxPicture        EQU        5
  6175. kMCIEEnabledUnavailableButtonPicture EQU 6
  6176. kMCIEDisabledUnavailableButtonPicture EQU 7
  6177. kMCIESoundSlider                EQU        128
  6178. kMCIESoundThumb                    EQU        129
  6179. kMCIEColorTable                    EQU        256
  6180. kMCIEIsFlatAppearance            EQU        257
  6181. kMCIEDoButtonIconsDropOnDepress    EQU        258
  6182. ; typedef unsigned long                 MCInterfaceElement
  6183.  
  6184. ;    menu related stuff
  6185. ;
  6186.  
  6187.  
  6188. mcInfoUndoAvailable                EQU        $01
  6189. mcInfoCutAvailable                EQU        $02
  6190. mcInfoCopyAvailable                EQU        $04
  6191. mcInfoPasteAvailable            EQU        $08
  6192. mcInfoClearAvailable            EQU        $10
  6193. mcInfoHasSound                    EQU        $20
  6194. mcInfoIsPlaying                    EQU        $40
  6195. mcInfoIsLooping                    EQU        $80
  6196. mcInfoIsInPalindrome            EQU        $0100
  6197. mcInfoEditingEnabled            EQU        $0200
  6198. mcInfoMovieIsInteractive        EQU        $0400
  6199. ;  menu item codes
  6200.  
  6201. mcMenuUndo                        EQU        1
  6202. mcMenuCut                        EQU        3
  6203. mcMenuCopy                        EQU        4
  6204. mcMenuPaste                        EQU        5
  6205. mcMenuClear                        EQU        6
  6206.  
  6207.  
  6208.  
  6209. ;  target management 
  6210. ;
  6211. ; pascal ComponentResult MCSetMovie(MovieController mc, Movie theMovie, WindowPtr movieWindow, Point where)
  6212. ;
  6213.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6214.         Macro
  6215.         _MCSetMovie
  6216.             move.l              #$000C0002,-(sp)
  6217.             moveq               #0,D0
  6218.             dc.w                $A82A
  6219.         EndM
  6220.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6221.         IMPORT_CFM_FUNCTION MCSetMovie
  6222.     ENDIF
  6223.  
  6224. ;
  6225. ; pascal Movie MCGetIndMovie(MovieController mc, short index)
  6226. ;
  6227.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6228.         Macro
  6229.         _MCGetIndMovie
  6230.             move.l              #$00020005,-(sp)
  6231.             moveq               #0,D0
  6232.             dc.w                $A82A
  6233.         EndM
  6234.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6235.         IMPORT_CFM_FUNCTION MCGetIndMovie
  6236.     ENDIF
  6237.  
  6238.  
  6239. ;
  6240. ; pascal ComponentResult MCRemoveAllMovies(MovieController mc)
  6241. ;
  6242.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6243.         Macro
  6244.         _MCRemoveAllMovies
  6245.             move.l              #$00000006,-(sp)
  6246.             moveq               #0,D0
  6247.             dc.w                $A82A
  6248.         EndM
  6249.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6250.         IMPORT_CFM_FUNCTION MCRemoveAllMovies
  6251.     ENDIF
  6252.  
  6253. ;
  6254. ; pascal ComponentResult MCRemoveAMovie(MovieController mc, Movie m)
  6255. ;
  6256.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6257.         Macro
  6258.         _MCRemoveAMovie
  6259.             move.l              #$00040003,-(sp)
  6260.             moveq               #0,D0
  6261.             dc.w                $A82A
  6262.         EndM
  6263.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6264.         IMPORT_CFM_FUNCTION MCRemoveAMovie
  6265.     ENDIF
  6266.  
  6267. ;
  6268. ; pascal ComponentResult MCRemoveMovie(MovieController mc)
  6269. ;
  6270.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6271.         Macro
  6272.         _MCRemoveMovie
  6273.             move.l              #$00000006,-(sp)
  6274.             moveq               #0,D0
  6275.             dc.w                $A82A
  6276.         EndM
  6277.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6278.         IMPORT_CFM_FUNCTION MCRemoveMovie
  6279.     ENDIF
  6280.  
  6281. ;  event handling etc. 
  6282. ;
  6283. ; pascal ComponentResult MCIsPlayerEvent(MovieController mc, const EventRecord *e)
  6284. ;
  6285.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6286.         Macro
  6287.         _MCIsPlayerEvent
  6288.             move.l              #$00040007,-(sp)
  6289.             moveq               #0,D0
  6290.             dc.w                $A82A
  6291.         EndM
  6292.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6293.         IMPORT_CFM_FUNCTION MCIsPlayerEvent
  6294.     ENDIF
  6295.  
  6296. ;  obsolete. use MCSetActionFilterWithRefCon instead. 
  6297. ;
  6298. ; pascal ComponentResult MCSetActionFilter(MovieController mc, MCActionFilterUPP blob)
  6299. ;
  6300.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6301.         Macro
  6302.         _MCSetActionFilter
  6303.             move.l              #$00040008,-(sp)
  6304.             moveq               #0,D0
  6305.             dc.w                $A82A
  6306.         EndM
  6307.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6308.         IMPORT_CFM_FUNCTION MCSetActionFilter
  6309.     ENDIF
  6310.  
  6311. ;    proc is of the form:
  6312. ;        Boolean userPlayerFilter(MovieController mc, short *action, void *params) =
  6313. ;    proc returns TRUE if it handles the action, FALSE if not
  6314. ;    action is passed as a VAR so that it could be changed by filter
  6315. ;    this is consistent with the current dialog manager stuff
  6316. ;    params is any potential parameters that go with the action
  6317. ;        such as set playback rate to xxx.
  6318. ;
  6319.  
  6320. ;
  6321. ; pascal ComponentResult MCDoAction(MovieController mc, short action, void *params)
  6322. ;
  6323.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6324.         Macro
  6325.         _MCDoAction
  6326.             move.l              #$00060009,-(sp)
  6327.             moveq               #0,D0
  6328.             dc.w                $A82A
  6329.         EndM
  6330.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6331.         IMPORT_CFM_FUNCTION MCDoAction
  6332.     ENDIF
  6333.  
  6334. ;  state type things 
  6335. ;
  6336. ; pascal ComponentResult MCSetControllerAttached(MovieController mc, Boolean attach)
  6337. ;
  6338.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6339.         Macro
  6340.         _MCSetControllerAttached
  6341.             move.l              #$0002000A,-(sp)
  6342.             moveq               #0,D0
  6343.             dc.w                $A82A
  6344.         EndM
  6345.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6346.         IMPORT_CFM_FUNCTION MCSetControllerAttached
  6347.     ENDIF
  6348.  
  6349. ;
  6350. ; pascal ComponentResult MCIsControllerAttached(MovieController mc)
  6351. ;
  6352.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6353.         Macro
  6354.         _MCIsControllerAttached
  6355.             move.l              #$0000000B,-(sp)
  6356.             moveq               #0,D0
  6357.             dc.w                $A82A
  6358.         EndM
  6359.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6360.         IMPORT_CFM_FUNCTION MCIsControllerAttached
  6361.     ENDIF
  6362.  
  6363. ;
  6364. ; pascal ComponentResult MCSetControllerPort(MovieController mc, CGrafPtr gp)
  6365. ;
  6366.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6367.         Macro
  6368.         _MCSetControllerPort
  6369.             move.l              #$0004000C,-(sp)
  6370.             moveq               #0,D0
  6371.             dc.w                $A82A
  6372.         EndM
  6373.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6374.         IMPORT_CFM_FUNCTION MCSetControllerPort
  6375.     ENDIF
  6376.  
  6377. ;
  6378. ; pascal CGrafPtr MCGetControllerPort(MovieController mc)
  6379. ;
  6380.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6381.         Macro
  6382.         _MCGetControllerPort
  6383.             move.l              #$0000000D,-(sp)
  6384.             moveq               #0,D0
  6385.             dc.w                $A82A
  6386.         EndM
  6387.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6388.         IMPORT_CFM_FUNCTION MCGetControllerPort
  6389.     ENDIF
  6390.  
  6391. ;
  6392. ; pascal ComponentResult MCSetVisible(MovieController mc, Boolean visible)
  6393. ;
  6394.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6395.         Macro
  6396.         _MCSetVisible
  6397.             move.l              #$0002000E,-(sp)
  6398.             moveq               #0,D0
  6399.             dc.w                $A82A
  6400.         EndM
  6401.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6402.         IMPORT_CFM_FUNCTION MCSetVisible
  6403.     ENDIF
  6404.  
  6405. ;
  6406. ; pascal ComponentResult MCGetVisible(MovieController mc)
  6407. ;
  6408.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6409.         Macro
  6410.         _MCGetVisible
  6411.             move.l              #$0000000F,-(sp)
  6412.             moveq               #0,D0
  6413.             dc.w                $A82A
  6414.         EndM
  6415.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6416.         IMPORT_CFM_FUNCTION MCGetVisible
  6417.     ENDIF
  6418.  
  6419. ;
  6420. ; pascal ComponentResult MCGetControllerBoundsRect(MovieController mc, Rect *bounds)
  6421. ;
  6422.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6423.         Macro
  6424.         _MCGetControllerBoundsRect
  6425.             move.l              #$00040010,-(sp)
  6426.             moveq               #0,D0
  6427.             dc.w                $A82A
  6428.         EndM
  6429.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6430.         IMPORT_CFM_FUNCTION MCGetControllerBoundsRect
  6431.     ENDIF
  6432.  
  6433. ;
  6434. ; pascal ComponentResult MCSetControllerBoundsRect(MovieController mc, const Rect *bounds)
  6435. ;
  6436.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6437.         Macro
  6438.         _MCSetControllerBoundsRect
  6439.             move.l              #$00040011,-(sp)
  6440.             moveq               #0,D0
  6441.             dc.w                $A82A
  6442.         EndM
  6443.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6444.         IMPORT_CFM_FUNCTION MCSetControllerBoundsRect
  6445.     ENDIF
  6446.  
  6447. ;
  6448. ; pascal RgnHandle MCGetControllerBoundsRgn(MovieController mc)
  6449. ;
  6450.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6451.         Macro
  6452.         _MCGetControllerBoundsRgn
  6453.             move.l              #$00000012,-(sp)
  6454.             moveq               #0,D0
  6455.             dc.w                $A82A
  6456.         EndM
  6457.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6458.         IMPORT_CFM_FUNCTION MCGetControllerBoundsRgn
  6459.     ENDIF
  6460.  
  6461. ;
  6462. ; pascal RgnHandle MCGetWindowRgn(MovieController mc, WindowPtr w)
  6463. ;
  6464.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6465.         Macro
  6466.         _MCGetWindowRgn
  6467.             move.l              #$00040013,-(sp)
  6468.             moveq               #0,D0
  6469.             dc.w                $A82A
  6470.         EndM
  6471.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6472.         IMPORT_CFM_FUNCTION MCGetWindowRgn
  6473.     ENDIF
  6474.  
  6475.  
  6476. ;  other stuff 
  6477. ;
  6478. ; pascal ComponentResult MCMovieChanged(MovieController mc, Movie m)
  6479. ;
  6480.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6481.         Macro
  6482.         _MCMovieChanged
  6483.             move.l              #$00040014,-(sp)
  6484.             moveq               #0,D0
  6485.             dc.w                $A82A
  6486.         EndM
  6487.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6488.         IMPORT_CFM_FUNCTION MCMovieChanged
  6489.     ENDIF
  6490.  
  6491.  
  6492. ;    called when the app has changed thing about the movie (like bounding rect) or rate. So that we
  6493. ;        can update our graphical (and internal) state accordingly.
  6494. ;
  6495.  
  6496. ;
  6497. ; pascal ComponentResult MCSetDuration(MovieController mc, TimeValue duration)
  6498. ;
  6499.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6500.         Macro
  6501.         _MCSetDuration
  6502.             move.l              #$00040015,-(sp)
  6503.             moveq               #0,D0
  6504.             dc.w                $A82A
  6505.         EndM
  6506.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6507.         IMPORT_CFM_FUNCTION MCSetDuration
  6508.     ENDIF
  6509.  
  6510. ;    duration to use for time slider -- will be reset next time MCMovieChanged is called
  6511. ;        or MCSetMovie is called
  6512. ;
  6513.  
  6514. ;
  6515. ; pascal TimeValue MCGetCurrentTime(MovieController mc, TimeScale *scale)
  6516. ;
  6517.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6518.         Macro
  6519.         _MCGetCurrentTime
  6520.             move.l              #$00040016,-(sp)
  6521.             moveq               #0,D0
  6522.             dc.w                $A82A
  6523.         EndM
  6524.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6525.         IMPORT_CFM_FUNCTION MCGetCurrentTime
  6526.     ENDIF
  6527.  
  6528. ;    returns the time value and the time scale it is on. if there are no movies, the
  6529. ;        time scale is passed back as 0. scale is an optional parameter
  6530. ;
  6531. ;
  6532.  
  6533. ;
  6534. ; pascal ComponentResult MCNewAttachedController(MovieController mc, Movie theMovie, WindowPtr w, Point where)
  6535. ;
  6536.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6537.         Macro
  6538.         _MCNewAttachedController
  6539.             move.l              #$000C0017,-(sp)
  6540.             moveq               #0,D0
  6541.             dc.w                $A82A
  6542.         EndM
  6543.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6544.         IMPORT_CFM_FUNCTION MCNewAttachedController
  6545.     ENDIF
  6546.  
  6547. ;    makes theMovie the only movie attached to the controller. makes the controller visible.
  6548. ;    the window and where parameters are passed a long to MCSetMovie and behave as
  6549. ;    described there
  6550. ;
  6551.  
  6552. ;
  6553. ; pascal ComponentResult MCDraw(MovieController mc, WindowPtr w)
  6554. ;
  6555.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6556.         Macro
  6557.         _MCDraw
  6558.             move.l              #$00040018,-(sp)
  6559.             moveq               #0,D0
  6560.             dc.w                $A82A
  6561.         EndM
  6562.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6563.         IMPORT_CFM_FUNCTION MCDraw
  6564.     ENDIF
  6565.  
  6566. ;
  6567. ; pascal ComponentResult MCActivate(MovieController mc, WindowPtr w, Boolean activate)
  6568. ;
  6569.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6570.         Macro
  6571.         _MCActivate
  6572.             move.l              #$00060019,-(sp)
  6573.             moveq               #0,D0
  6574.             dc.w                $A82A
  6575.         EndM
  6576.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6577.         IMPORT_CFM_FUNCTION MCActivate
  6578.     ENDIF
  6579.  
  6580. ;
  6581. ; pascal ComponentResult MCIdle(MovieController mc)
  6582. ;
  6583.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6584.         Macro
  6585.         _MCIdle
  6586.             move.l              #$0000001A,-(sp)
  6587.             moveq               #0,D0
  6588.             dc.w                $A82A
  6589.         EndM
  6590.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6591.         IMPORT_CFM_FUNCTION MCIdle
  6592.     ENDIF
  6593.  
  6594. ;
  6595. ; pascal ComponentResult MCKey(MovieController mc, SInt8 key, long modifiers)
  6596. ;
  6597.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6598.         Macro
  6599.         _MCKey
  6600.             move.l              #$0006001B,-(sp)
  6601.             moveq               #0,D0
  6602.             dc.w                $A82A
  6603.         EndM
  6604.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6605.         IMPORT_CFM_FUNCTION MCKey
  6606.     ENDIF
  6607.  
  6608. ;
  6609. ; pascal ComponentResult MCClick(MovieController mc, WindowPtr w, Point where, long when, long modifiers)
  6610. ;
  6611.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6612.         Macro
  6613.         _MCClick
  6614.             move.l              #$0010001C,-(sp)
  6615.             moveq               #0,D0
  6616.             dc.w                $A82A
  6617.         EndM
  6618.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6619.         IMPORT_CFM_FUNCTION MCClick
  6620.     ENDIF
  6621.  
  6622.  
  6623. ;    calls for editing
  6624. ;
  6625.  
  6626. ;
  6627. ; pascal ComponentResult MCEnableEditing(MovieController mc, Boolean enabled)
  6628. ;
  6629.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6630.         Macro
  6631.         _MCEnableEditing
  6632.             move.l              #$0002001D,-(sp)
  6633.             moveq               #0,D0
  6634.             dc.w                $A82A
  6635.         EndM
  6636.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6637.         IMPORT_CFM_FUNCTION MCEnableEditing
  6638.     ENDIF
  6639.  
  6640. ;
  6641. ; pascal long MCIsEditingEnabled(MovieController mc)
  6642. ;
  6643.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6644.         Macro
  6645.         _MCIsEditingEnabled
  6646.             move.l              #$0000001E,-(sp)
  6647.             moveq               #0,D0
  6648.             dc.w                $A82A
  6649.         EndM
  6650.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6651.         IMPORT_CFM_FUNCTION MCIsEditingEnabled
  6652.     ENDIF
  6653.  
  6654. ;
  6655. ; pascal Movie MCCopy(MovieController mc)
  6656. ;
  6657.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6658.         Macro
  6659.         _MCCopy
  6660.             move.l              #$0000001F,-(sp)
  6661.             moveq               #0,D0
  6662.             dc.w                $A82A
  6663.         EndM
  6664.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6665.         IMPORT_CFM_FUNCTION MCCopy
  6666.     ENDIF
  6667.  
  6668. ;
  6669. ; pascal Movie MCCut(MovieController mc)
  6670. ;
  6671.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6672.         Macro
  6673.         _MCCut
  6674.             move.l              #$00000020,-(sp)
  6675.             moveq               #0,D0
  6676.             dc.w                $A82A
  6677.         EndM
  6678.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6679.         IMPORT_CFM_FUNCTION MCCut
  6680.     ENDIF
  6681.  
  6682. ;
  6683. ; pascal ComponentResult MCPaste(MovieController mc, Movie srcMovie)
  6684. ;
  6685.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6686.         Macro
  6687.         _MCPaste
  6688.             move.l              #$00040021,-(sp)
  6689.             moveq               #0,D0
  6690.             dc.w                $A82A
  6691.         EndM
  6692.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6693.         IMPORT_CFM_FUNCTION MCPaste
  6694.     ENDIF
  6695.  
  6696. ;
  6697. ; pascal ComponentResult MCClear(MovieController mc)
  6698. ;
  6699.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6700.         Macro
  6701.         _MCClear
  6702.             move.l              #$00000022,-(sp)
  6703.             moveq               #0,D0
  6704.             dc.w                $A82A
  6705.         EndM
  6706.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6707.         IMPORT_CFM_FUNCTION MCClear
  6708.     ENDIF
  6709.  
  6710. ;
  6711. ; pascal ComponentResult MCUndo(MovieController mc)
  6712. ;
  6713.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6714.         Macro
  6715.         _MCUndo
  6716.             move.l              #$00000023,-(sp)
  6717.             moveq               #0,D0
  6718.             dc.w                $A82A
  6719.         EndM
  6720.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6721.         IMPORT_CFM_FUNCTION MCUndo
  6722.     ENDIF
  6723.  
  6724.  
  6725. ; *    somewhat special stuff
  6726.  
  6727. ;
  6728. ; pascal ComponentResult MCPositionController(MovieController mc, const Rect *movieRect, const Rect *controllerRect, long someFlags)
  6729. ;
  6730.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6731.         Macro
  6732.         _MCPositionController
  6733.             move.l              #$000C0024,-(sp)
  6734.             moveq               #0,D0
  6735.             dc.w                $A82A
  6736.         EndM
  6737.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6738.         IMPORT_CFM_FUNCTION MCPositionController
  6739.     ENDIF
  6740.  
  6741.  
  6742. ;
  6743. ; pascal ComponentResult MCGetControllerInfo(MovieController mc, long *someFlags)
  6744. ;
  6745.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6746.         Macro
  6747.         _MCGetControllerInfo
  6748.             move.l              #$00040025,-(sp)
  6749.             moveq               #0,D0
  6750.             dc.w                $A82A
  6751.         EndM
  6752.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6753.         IMPORT_CFM_FUNCTION MCGetControllerInfo
  6754.     ENDIF
  6755.  
  6756.  
  6757.  
  6758. ;
  6759. ; pascal ComponentResult MCSetClip(MovieController mc, RgnHandle theClip, RgnHandle movieClip)
  6760. ;
  6761.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6762.         Macro
  6763.         _MCSetClip
  6764.             move.l              #$00080028,-(sp)
  6765.             moveq               #0,D0
  6766.             dc.w                $A82A
  6767.         EndM
  6768.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6769.         IMPORT_CFM_FUNCTION MCSetClip
  6770.     ENDIF
  6771.  
  6772. ;
  6773. ; pascal ComponentResult MCGetClip(MovieController mc, RgnHandle *theClip, RgnHandle *movieClip)
  6774. ;
  6775.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6776.         Macro
  6777.         _MCGetClip
  6778.             move.l              #$00080029,-(sp)
  6779.             moveq               #0,D0
  6780.             dc.w                $A82A
  6781.         EndM
  6782.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6783.         IMPORT_CFM_FUNCTION MCGetClip
  6784.     ENDIF
  6785.  
  6786.  
  6787. ;
  6788. ; pascal ComponentResult MCDrawBadge(MovieController mc, RgnHandle movieRgn, RgnHandle *badgeRgn)
  6789. ;
  6790.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6791.         Macro
  6792.         _MCDrawBadge
  6793.             move.l              #$0008002A,-(sp)
  6794.             moveq               #0,D0
  6795.             dc.w                $A82A
  6796.         EndM
  6797.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6798.         IMPORT_CFM_FUNCTION MCDrawBadge
  6799.     ENDIF
  6800.  
  6801. ;
  6802. ; pascal ComponentResult MCSetUpEditMenu(MovieController mc, long modifiers, MenuHandle mh)
  6803. ;
  6804.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6805.         Macro
  6806.         _MCSetUpEditMenu
  6807.             move.l              #$0008002B,-(sp)
  6808.             moveq               #0,D0
  6809.             dc.w                $A82A
  6810.         EndM
  6811.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6812.         IMPORT_CFM_FUNCTION MCSetUpEditMenu
  6813.     ENDIF
  6814.  
  6815. ;
  6816. ; pascal ComponentResult MCGetMenuString(MovieController mc, long modifiers, short item, Str255 aString)
  6817. ;
  6818.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6819.         Macro
  6820.         _MCGetMenuString
  6821.             move.l              #$000A002C,-(sp)
  6822.             moveq               #0,D0
  6823.             dc.w                $A82A
  6824.         EndM
  6825.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6826.         IMPORT_CFM_FUNCTION MCGetMenuString
  6827.     ENDIF
  6828.  
  6829. ;
  6830. ; pascal ComponentResult MCSetActionFilterWithRefCon(MovieController mc, MCActionFilterWithRefConUPP blob, long refCon)
  6831. ;
  6832.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6833.         Macro
  6834.         _MCSetActionFilterWithRefCon
  6835.             move.l              #$0008002D,-(sp)
  6836.             moveq               #0,D0
  6837.             dc.w                $A82A
  6838.         EndM
  6839.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6840.         IMPORT_CFM_FUNCTION MCSetActionFilterWithRefCon
  6841.     ENDIF
  6842.  
  6843. ;
  6844. ; pascal ComponentResult MCPtInController(MovieController mc, Point thePt, Boolean *inController)
  6845. ;
  6846.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6847.         Macro
  6848.         _MCPtInController
  6849.             move.l              #$0008002E,-(sp)
  6850.             moveq               #0,D0
  6851.             dc.w                $A82A
  6852.         EndM
  6853.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6854.         IMPORT_CFM_FUNCTION MCPtInController
  6855.     ENDIF
  6856.  
  6857. ;
  6858. ; pascal ComponentResult MCInvalidate(MovieController mc, WindowPtr w, RgnHandle invalidRgn)
  6859. ;
  6860.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6861.         Macro
  6862.         _MCInvalidate
  6863.             move.l              #$0008002F,-(sp)
  6864.             moveq               #0,D0
  6865.             dc.w                $A82A
  6866.         EndM
  6867.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6868.         IMPORT_CFM_FUNCTION MCInvalidate
  6869.     ENDIF
  6870.  
  6871. ;
  6872. ; pascal ComponentResult MCAdjustCursor(MovieController mc, WindowPtr w, Point where, long modifiers)
  6873. ;
  6874.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6875.         Macro
  6876.         _MCAdjustCursor
  6877.             move.l              #$000C0030,-(sp)
  6878.             moveq               #0,D0
  6879.             dc.w                $A82A
  6880.         EndM
  6881.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6882.         IMPORT_CFM_FUNCTION MCAdjustCursor
  6883.     ENDIF
  6884.  
  6885. ;
  6886. ; pascal ComponentResult MCGetInterfaceElement(MovieController mc, MCInterfaceElement whichElement, void *element)
  6887. ;
  6888.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6889.         Macro
  6890.         _MCGetInterfaceElement
  6891.             move.l              #$00080031,-(sp)
  6892.             moveq               #0,D0
  6893.             dc.w                $A82A
  6894.         EndM
  6895.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6896.         IMPORT_CFM_FUNCTION MCGetInterfaceElement
  6897.     ENDIF
  6898.  
  6899.  
  6900.  
  6901.  
  6902.  
  6903. ; ****************************************
  6904. ;*                                        *
  6905. ;*          T  I  M  E  B  A  S  E            *
  6906. ;*                                        *
  6907. ;***************************************
  6908.  
  6909. ;
  6910. ; pascal TimeBase NewTimeBase(void )
  6911. ;
  6912.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6913.         Macro
  6914.         _NewTimeBase
  6915.             move.w              #$00A5,D0
  6916.             dc.w                $AAAA
  6917.         EndM
  6918.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6919.         IMPORT_CFM_FUNCTION NewTimeBase
  6920.     ENDIF
  6921.  
  6922. ;
  6923. ; pascal void DisposeTimeBase(TimeBase tb)
  6924. ;
  6925.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6926.         Macro
  6927.         _DisposeTimeBase
  6928.             move.w              #$00B6,D0
  6929.             dc.w                $AAAA
  6930.         EndM
  6931.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6932.         IMPORT_CFM_FUNCTION DisposeTimeBase
  6933.     ENDIF
  6934.  
  6935. ;
  6936. ; pascal TimeValue GetTimeBaseTime(TimeBase tb, TimeScale s, TimeRecord *tr)
  6937. ;
  6938.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6939.         Macro
  6940.         _GetTimeBaseTime
  6941.             move.w              #$00A6,D0
  6942.             dc.w                $AAAA
  6943.         EndM
  6944.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6945.         IMPORT_CFM_FUNCTION GetTimeBaseTime
  6946.     ENDIF
  6947.  
  6948. ;
  6949. ; pascal void SetTimeBaseTime(TimeBase tb, const TimeRecord *tr)
  6950. ;
  6951.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6952.         Macro
  6953.         _SetTimeBaseTime
  6954.             move.w              #$00A7,D0
  6955.             dc.w                $AAAA
  6956.         EndM
  6957.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6958.         IMPORT_CFM_FUNCTION SetTimeBaseTime
  6959.     ENDIF
  6960.  
  6961. ;
  6962. ; pascal void SetTimeBaseValue(TimeBase tb, TimeValue t, TimeScale s)
  6963. ;
  6964.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6965.         Macro
  6966.         _SetTimeBaseValue
  6967.             move.w              #$00A8,D0
  6968.             dc.w                $AAAA
  6969.         EndM
  6970.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6971.         IMPORT_CFM_FUNCTION SetTimeBaseValue
  6972.     ENDIF
  6973.  
  6974. ;
  6975. ; pascal Fixed GetTimeBaseRate(TimeBase tb)
  6976. ;
  6977.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6978.         Macro
  6979.         _GetTimeBaseRate
  6980.             move.w              #$00A9,D0
  6981.             dc.w                $AAAA
  6982.         EndM
  6983.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6984.         IMPORT_CFM_FUNCTION GetTimeBaseRate
  6985.     ENDIF
  6986.  
  6987. ;
  6988. ; pascal void SetTimeBaseRate(TimeBase tb, Fixed r)
  6989. ;
  6990.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  6991.         Macro
  6992.         _SetTimeBaseRate
  6993.             move.w              #$00AA,D0
  6994.             dc.w                $AAAA
  6995.         EndM
  6996.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  6997.         IMPORT_CFM_FUNCTION SetTimeBaseRate
  6998.     ENDIF
  6999.  
  7000. ;
  7001. ; pascal TimeValue GetTimeBaseStartTime(TimeBase tb, TimeScale s, TimeRecord *tr)
  7002. ;
  7003.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7004.         Macro
  7005.         _GetTimeBaseStartTime
  7006.             move.w              #$00AB,D0
  7007.             dc.w                $AAAA
  7008.         EndM
  7009.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7010.         IMPORT_CFM_FUNCTION GetTimeBaseStartTime
  7011.     ENDIF
  7012.  
  7013. ;
  7014. ; pascal void SetTimeBaseStartTime(TimeBase tb, const TimeRecord *tr)
  7015. ;
  7016.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7017.         Macro
  7018.         _SetTimeBaseStartTime
  7019.             move.w              #$00AC,D0
  7020.             dc.w                $AAAA
  7021.         EndM
  7022.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7023.         IMPORT_CFM_FUNCTION SetTimeBaseStartTime
  7024.     ENDIF
  7025.  
  7026. ;
  7027. ; pascal TimeValue GetTimeBaseStopTime(TimeBase tb, TimeScale s, TimeRecord *tr)
  7028. ;
  7029.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7030.         Macro
  7031.         _GetTimeBaseStopTime
  7032.             move.w              #$00AD,D0
  7033.             dc.w                $AAAA
  7034.         EndM
  7035.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7036.         IMPORT_CFM_FUNCTION GetTimeBaseStopTime
  7037.     ENDIF
  7038.  
  7039. ;
  7040. ; pascal void SetTimeBaseStopTime(TimeBase tb, const TimeRecord *tr)
  7041. ;
  7042.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7043.         Macro
  7044.         _SetTimeBaseStopTime
  7045.             move.w              #$00AE,D0
  7046.             dc.w                $AAAA
  7047.         EndM
  7048.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7049.         IMPORT_CFM_FUNCTION SetTimeBaseStopTime
  7050.     ENDIF
  7051.  
  7052. ;
  7053. ; pascal long GetTimeBaseFlags(TimeBase tb)
  7054. ;
  7055.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7056.         Macro
  7057.         _GetTimeBaseFlags
  7058.             move.w              #$00B1,D0
  7059.             dc.w                $AAAA
  7060.         EndM
  7061.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7062.         IMPORT_CFM_FUNCTION GetTimeBaseFlags
  7063.     ENDIF
  7064.  
  7065. ;
  7066. ; pascal void SetTimeBaseFlags(TimeBase tb, long timeBaseFlags)
  7067. ;
  7068.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7069.         Macro
  7070.         _SetTimeBaseFlags
  7071.             move.w              #$00B2,D0
  7072.             dc.w                $AAAA
  7073.         EndM
  7074.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7075.         IMPORT_CFM_FUNCTION SetTimeBaseFlags
  7076.     ENDIF
  7077.  
  7078. ;
  7079. ; pascal void SetTimeBaseMasterTimeBase(TimeBase slave, TimeBase master, const TimeRecord *slaveZero)
  7080. ;
  7081.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7082.         Macro
  7083.         _SetTimeBaseMasterTimeBase
  7084.             move.w              #$00B4,D0
  7085.             dc.w                $AAAA
  7086.         EndM
  7087.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7088.         IMPORT_CFM_FUNCTION SetTimeBaseMasterTimeBase
  7089.     ENDIF
  7090.  
  7091. ;
  7092. ; pascal TimeBase GetTimeBaseMasterTimeBase(TimeBase tb)
  7093. ;
  7094.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7095.         Macro
  7096.         _GetTimeBaseMasterTimeBase
  7097.             move.w              #$00AF,D0
  7098.             dc.w                $AAAA
  7099.         EndM
  7100.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7101.         IMPORT_CFM_FUNCTION GetTimeBaseMasterTimeBase
  7102.     ENDIF
  7103.  
  7104. ;
  7105. ; pascal void SetTimeBaseMasterClock(TimeBase slave, Component clockMeister, const TimeRecord *slaveZero)
  7106. ;
  7107.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7108.         Macro
  7109.         _SetTimeBaseMasterClock
  7110.             move.w              #$00B3,D0
  7111.             dc.w                $AAAA
  7112.         EndM
  7113.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7114.         IMPORT_CFM_FUNCTION SetTimeBaseMasterClock
  7115.     ENDIF
  7116.  
  7117. ;
  7118. ; pascal ComponentInstance GetTimeBaseMasterClock(TimeBase tb)
  7119. ;
  7120.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7121.         Macro
  7122.         _GetTimeBaseMasterClock
  7123.             move.w              #$00B0,D0
  7124.             dc.w                $AAAA
  7125.         EndM
  7126.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7127.         IMPORT_CFM_FUNCTION GetTimeBaseMasterClock
  7128.     ENDIF
  7129.  
  7130. ;
  7131. ; pascal void ConvertTime(TimeRecord *inout, TimeBase newBase)
  7132. ;
  7133.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7134.         Macro
  7135.         _ConvertTime
  7136.             move.w              #$00B5,D0
  7137.             dc.w                $AAAA
  7138.         EndM
  7139.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7140.         IMPORT_CFM_FUNCTION ConvertTime
  7141.     ENDIF
  7142.  
  7143. ;
  7144. ; pascal void ConvertTimeScale(TimeRecord *inout, TimeScale newScale)
  7145. ;
  7146.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7147.         Macro
  7148.         _ConvertTimeScale
  7149.             move.w              #$00B7,D0
  7150.             dc.w                $AAAA
  7151.         EndM
  7152.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7153.         IMPORT_CFM_FUNCTION ConvertTimeScale
  7154.     ENDIF
  7155.  
  7156. ;
  7157. ; pascal void AddTime(TimeRecord *dst, const TimeRecord *src)
  7158. ;
  7159.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7160.         Macro
  7161.         _AddTime
  7162.             move.w              #$010C,D0
  7163.             dc.w                $AAAA
  7164.         EndM
  7165.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7166.         IMPORT_CFM_FUNCTION AddTime
  7167.     ENDIF
  7168.  
  7169. ;
  7170. ; pascal void SubtractTime(TimeRecord *dst, const TimeRecord *src)
  7171. ;
  7172.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7173.         Macro
  7174.         _SubtractTime
  7175.             move.w              #$010D,D0
  7176.             dc.w                $AAAA
  7177.         EndM
  7178.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7179.         IMPORT_CFM_FUNCTION SubtractTime
  7180.     ENDIF
  7181.  
  7182. ;
  7183. ; pascal long GetTimeBaseStatus(TimeBase tb, TimeRecord *unpinnedTime)
  7184. ;
  7185.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7186.         Macro
  7187.         _GetTimeBaseStatus
  7188.             move.w              #$010B,D0
  7189.             dc.w                $AAAA
  7190.         EndM
  7191.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7192.         IMPORT_CFM_FUNCTION GetTimeBaseStatus
  7193.     ENDIF
  7194.  
  7195. ;
  7196. ; pascal void SetTimeBaseZero(TimeBase tb, TimeRecord *zero)
  7197. ;
  7198.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7199.         Macro
  7200.         _SetTimeBaseZero
  7201.             move.w              #$0128,D0
  7202.             dc.w                $AAAA
  7203.         EndM
  7204.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7205.         IMPORT_CFM_FUNCTION SetTimeBaseZero
  7206.     ENDIF
  7207.  
  7208. ;
  7209. ; pascal Fixed GetTimeBaseEffectiveRate(TimeBase tb)
  7210. ;
  7211.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7212.         Macro
  7213.         _GetTimeBaseEffectiveRate
  7214.             move.w              #$0124,D0
  7215.             dc.w                $AAAA
  7216.         EndM
  7217.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7218.         IMPORT_CFM_FUNCTION GetTimeBaseEffectiveRate
  7219.     ENDIF
  7220.  
  7221.  
  7222. ; ****************************************
  7223. ;*                                        *
  7224. ;*          C  A  L  L  B  A  C  K             *
  7225. ;*                                        *
  7226. ;***************************************
  7227.  
  7228. ;
  7229. ; pascal QTCallBack NewCallBack(TimeBase tb, short cbType)
  7230. ;
  7231.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7232.         Macro
  7233.         _NewCallBack
  7234.             move.w              #$00EB,D0
  7235.             dc.w                $AAAA
  7236.         EndM
  7237.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7238.         IMPORT_CFM_FUNCTION NewCallBack
  7239.     ENDIF
  7240.  
  7241. ;
  7242. ; pascal void DisposeCallBack(QTCallBack cb)
  7243. ;
  7244.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7245.         Macro
  7246.         _DisposeCallBack
  7247.             move.w              #$00EC,D0
  7248.             dc.w                $AAAA
  7249.         EndM
  7250.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7251.         IMPORT_CFM_FUNCTION DisposeCallBack
  7252.     ENDIF
  7253.  
  7254. ;
  7255. ; pascal short GetCallBackType(QTCallBack cb)
  7256. ;
  7257.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7258.         Macro
  7259.         _GetCallBackType
  7260.             move.w              #$00ED,D0
  7261.             dc.w                $AAAA
  7262.         EndM
  7263.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7264.         IMPORT_CFM_FUNCTION GetCallBackType
  7265.     ENDIF
  7266.  
  7267. ;
  7268. ; pascal TimeBase GetCallBackTimeBase(QTCallBack cb)
  7269. ;
  7270.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7271.         Macro
  7272.         _GetCallBackTimeBase
  7273.             move.w              #$00EE,D0
  7274.             dc.w                $AAAA
  7275.         EndM
  7276.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7277.         IMPORT_CFM_FUNCTION GetCallBackTimeBase
  7278.     ENDIF
  7279.  
  7280. ;
  7281. ; pascal OSErr CallMeWhen(QTCallBack cb, QTCallBackUPP callBackProc, long refCon, long param1, long param2, long param3)
  7282. ;
  7283.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7284.         Macro
  7285.         _CallMeWhen
  7286.             move.w              #$00B8,D0
  7287.             dc.w                $AAAA
  7288.         EndM
  7289.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7290.         IMPORT_CFM_FUNCTION CallMeWhen
  7291.     ENDIF
  7292.  
  7293. ;
  7294. ; pascal void CancelCallBack(QTCallBack cb)
  7295. ;
  7296.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7297.         Macro
  7298.         _CancelCallBack
  7299.             move.w              #$00B9,D0
  7300.             dc.w                $AAAA
  7301.         EndM
  7302.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7303.         IMPORT_CFM_FUNCTION CancelCallBack
  7304.     ENDIF
  7305.  
  7306.  
  7307. ; ****************************************
  7308. ;*                                        *
  7309. ;*          C L O C K   C A L L B A C K      *
  7310. ;*                S U P P O R T              *
  7311. ;*                                        *
  7312. ;***************************************
  7313.  
  7314. ;
  7315. ; pascal OSErr AddCallBackToTimeBase(QTCallBack cb)
  7316. ;
  7317.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7318.         Macro
  7319.         _AddCallBackToTimeBase
  7320.             move.w              #$0129,D0
  7321.             dc.w                $AAAA
  7322.         EndM
  7323.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7324.         IMPORT_CFM_FUNCTION AddCallBackToTimeBase
  7325.     ENDIF
  7326.  
  7327. ;
  7328. ; pascal OSErr RemoveCallBackFromTimeBase(QTCallBack cb)
  7329. ;
  7330.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7331.         Macro
  7332.         _RemoveCallBackFromTimeBase
  7333.             move.w              #$012A,D0
  7334.             dc.w                $AAAA
  7335.         EndM
  7336.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7337.         IMPORT_CFM_FUNCTION RemoveCallBackFromTimeBase
  7338.     ENDIF
  7339.  
  7340. ;
  7341. ; pascal QTCallBack GetFirstCallBack(TimeBase tb)
  7342. ;
  7343.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7344.         Macro
  7345.         _GetFirstCallBack
  7346.             move.w              #$012B,D0
  7347.             dc.w                $AAAA
  7348.         EndM
  7349.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7350.         IMPORT_CFM_FUNCTION GetFirstCallBack
  7351.     ENDIF
  7352.  
  7353. ;
  7354. ; pascal QTCallBack GetNextCallBack(QTCallBack cb)
  7355. ;
  7356.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7357.         Macro
  7358.         _GetNextCallBack
  7359.             move.w              #$012C,D0
  7360.             dc.w                $AAAA
  7361.         EndM
  7362.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7363.         IMPORT_CFM_FUNCTION GetNextCallBack
  7364.     ENDIF
  7365.  
  7366. ;
  7367. ; pascal void ExecuteCallBack(QTCallBack cb)
  7368. ;
  7369.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7370.         Macro
  7371.         _ExecuteCallBack
  7372.             move.w              #$012D,D0
  7373.             dc.w                $AAAA
  7374.         EndM
  7375.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7376.         IMPORT_CFM_FUNCTION ExecuteCallBack
  7377.     ENDIF
  7378.  
  7379.  
  7380.  
  7381.  
  7382.  
  7383. ;
  7384. ; pascal ComponentResult MusicMediaGetIndexedTunePlayer(ComponentInstance ti, long sampleDescIndex, ComponentInstance *tp)
  7385. ;
  7386.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  7387.         Macro
  7388.         _MusicMediaGetIndexedTunePlayer
  7389.             move.l              #$00080101,-(sp)
  7390.             moveq               #0,D0
  7391.             dc.w                $A82A
  7392.         EndM
  7393.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  7394.         IMPORT_CFM_FUNCTION MusicMediaGetIndexedTunePlayer
  7395.     ENDIF
  7396.  
  7397.  
  7398.  
  7399. ;  UPP call backs 
  7400.  
  7401.     ENDIF ; __MOVIES__ 
  7402.  
  7403.